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