// compile | |
// Copyright 2014 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. | |
// The gccgo compiler had a bug: mentioning a function type in an | |
// expression in a function literal messed up the list of variables | |
// referenced in enclosing functions. | |
package main | |
func main() { | |
v1, v2 := 0, 0 | |
f := func() { | |
a := v1 | |
g := (func())(nil) | |
b := v2 | |
_, _, _ = a, g, b | |
} | |
_, _, _ = v1, v2, f | |
} |