|  | // run | 
|  |  | 
|  | // Copyright 2013 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. | 
|  |  | 
|  | // Issue 5607: generation of init() function incorrectly | 
|  | // uses initializers of blank variables inside closures. | 
|  |  | 
|  | package main | 
|  |  | 
|  | var Test = func() { | 
|  | var mymap = map[string]string{"a": "b"} | 
|  |  | 
|  | var innerTest = func() { | 
|  | // Used to crash trying to compile this line as | 
|  | // part of init() (funcdepth mismatch). | 
|  | var _, x = mymap["a"] | 
|  | println(x) | 
|  | } | 
|  | innerTest() | 
|  | } | 
|  |  | 
|  | var Test2 = func() { | 
|  | // The following initializer should not be part of init() | 
|  | // The compiler used to generate a call to Panic() in init(). | 
|  | var _, x = Panic() | 
|  | _ = x | 
|  | } | 
|  |  | 
|  | func Panic() (int, int) { | 
|  | panic("omg") | 
|  | return 1, 2 | 
|  | } | 
|  |  | 
|  | func main() {} |