...
Run Format

Source file test/func8.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 evaluation order.
  
  package main
  
  var calledf int
  
  func f() int {
  	calledf++
  	return 0
  }
  
  func g() int {
  	return calledf
  }
  
  var xy string
  
  //go:noinline
  func x() bool {
  	xy += "x"
  	return false
  }
  
  //go:noinline
  func y() string {
  	xy += "y"
  	return "abc"
  }
  
  func main() {
  	if f() == g() {
  		panic("wrong f,g order")
  	}
  
  	if x() == (y() == "abc") {
  		panic("wrong compare")
  	}
  	if xy != "xy" {
  		panic("wrong x,y order")
  	}
  }
  

View as plain text