github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug219.go (about)

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