...
Run Format

Source file test/escape3.go

Documentation: test

  // 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]
  }
  

View as plain text