github.com/yanyiwu/go@v0.0.0-20150106053140-03d6637dbb7f/test/compos.go (about) 1 // run 2 3 // Copyright 2009 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 // Test that returning &T{} from a function causes an allocation. 8 9 package main 10 11 type T struct { 12 int 13 } 14 15 func f() *T { 16 return &T{1} 17 } 18 19 func main() { 20 x := f() 21 y := f() 22 if x == y { 23 panic("not allocating & composite literals") 24 } 25 }