// run // Copyright 2011 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Test the run-time behavior of escape analysis-related optimizations. package main func main() { test1() } func test1() { check1(0) check1(1) check1(2) } type T1 struct { X, Y, Z int } func f() int { return 1 } func check1(pass int) T1 { v := []T1{{X: f(), Z: f()}} if v[0].Y != 0 { panic("nonzero init") } v[0].Y = pass return v[0] }