blob: c42ea7c2ceda16d6f963ac4f8c00418a25bb3bba [file] [log] [blame]
Josh Bleecher Snyderd5e01c02017-05-15 10:41:25 -07001// run
2
3// Copyright 2017 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// Issue 19710: mishandled defer delete(...)
8
9package main
10
11func main() {
12 if n := len(f()); n != 0 {
13 println("got", n, "want 0")
14 panic("bad defer delete")
15 }
16}
17
18func f() map[int]bool {
19 m := map[int]bool{}
20 for i := 0; i < 3; i++ {
21 m[i] = true
22 defer delete(m, i)
23 }
24 return m
25}