// 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; | |
} | |
} |