Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
golang
/
1.22.0
/
test
/
Filename :
escape_selfassign.go
back
Copy
// 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 }