1// compile 2 3// Copyright 2009 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 7package bug219 8 9func f(func()) int { return 0 } 10 11// this doesn't work: 12// bug219.go:16: syntax error near if 13func g1() { 14 if x := f(func() { 15 if true {} 16 }); true { 17 _ = x; 18 } 19} 20 21// this works 22func g2() { 23 if x := f(func() { 24 //if true {} 25 }); true { 26 _ = x; 27 } 28} 29 30// this works 31func g3() { 32 x := f(func() { 33 if true {} 34 }); 35 if true { 36 _ = x; 37 } 38} 39