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 9package main 10 11type T struct { 12 int 13} 14 15func f() *T { 16 return &T{1} 17} 18 19func main() { 20 x := f() 21 y := f() 22 if x == y { 23 panic("not allocating & composite literals") 24 } 25} 26