github.com/razvanm/vanadium-go-1.3@v0.0.0-20160721203343-4a65068e5915/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  }