// compile // 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 bug219 func f(func()) int { return 0 } // this doesn't work: // bug219.go:16: syntax error near if func g1() { if x := f(func() { if true {} }); true { _ = x; } } // this works func g2() { if x := f(func() { //if true {} }); true { _ = x; } } // this works func g3() { x := f(func() { if true {} }); if true { _ = x; } }