/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/escape_selfassign.go
32 строки
538 B
Matthew Dempsky
test: add regress test cases for self-assignment
17 апр 2019, 19:36
17 апр 2019, 19:36
ff3ae45
Код
Авторство
О чём код?
// errorcheck -0 -m -l // Copyright 2019 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Test escape analysis for self assignments. package escape type S struct { i int pi *int } var sink S func f(p *S) { // ERROR "leaking param: p" p.pi = &p.i sink = *p } // BAD: "leaking param: p" is too conservative func g(p *S) { // ERROR "leaking param: p" p.pi = &p.i } func h() { var s S // ERROR "moved to heap: s" g(&s) sink = s }