// run // Copyright 2009 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. package main import "fmt" func main() { var i, k int var r string outer: for k = 0; k < 2; k++ { r += fmt.Sprintln("outer loop top k", k) if k != 0 { panic("k not zero") } // inner loop breaks this one every time for i = 0; i < 2; i++ { if i != 0 { panic("i not zero") } // loop breaks every time r += fmt.Sprintln("inner loop top i", i) if true { r += "do break\n" break outer } } } r += "broke\n" expect := `outer loop top k 0 inner loop top i 0 do break broke ` if r != expect { panic(r) } }