// run | |
// Copyright 2017 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 20029: make sure we zero at VARKILLs of | |
// ambiguously live variables. | |
// The ambiguously live variable here is the hiter | |
// for the inner range loop. | |
package main | |
import "runtime" | |
func f(m map[int]int) { | |
outer: | |
for i := 0; i < 10; i++ { | |
for k := range m { | |
if k == 5 { | |
continue outer | |
} | |
} | |
runtime.GC() | |
break | |
} | |
runtime.GC() | |
} | |
func main() { | |
m := map[int]int{1: 2, 2: 3, 3: 4} | |
f(m) | |
} |