2014-08-04 20:50:49 -06:00
|
|
|
// compile
|
|
|
|
|
2016-04-10 15:32:26 -06:00
|
|
|
// Copyright 2014 The Go Authors. All rights reserved.
|
2014-08-04 20:50:49 -06:00
|
|
|
// 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
|
|
|
|
}
|