Source file test/func7.go
1 // run 2 3 // Copyright 2011 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 evaluation order in if condition. 8 9 package main 10 11 var calledf = false 12 13 func f() int { 14 calledf = true 15 return 1 16 } 17 18 func g() int { 19 if !calledf { 20 panic("BUG: func7 - called g before f") 21 } 22 return 0 23 } 24 25 func main() { 26 // gc used to evaluate g() before f(). 27 if f() < g() { 28 panic("wrong answer") 29 } 30 } 31