github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/issue5056.go (about) 1 // run 2 3 // Copyright 2013 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 // issue 5056: escape analysis not applied to wrapper functions 8 9 package main 10 11 type Foo int16 12 13 func (f Foo) Esc() *int{ 14 x := int(f) 15 return &x 16 } 17 18 type iface interface { 19 Esc() *int 20 } 21 22 var bar, foobar *int 23 24 func main() { 25 var quux iface 26 var x Foo 27 28 quux = x 29 bar = quux.Esc() 30 foobar = quux.Esc() 31 if bar == foobar { 32 panic("bar == foobar") 33 } 34 }