go/test/fixedbugs/issue19710.go
Josh Bleecher Snyder d5e01c044f test: add test of deferred delete
Updates #19710

Change-Id: I37d19a4a02b9010cb5f9062b3d141d5d65e12e01
Reviewed-on: https://go-review.googlesource.com/43497
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-05-15 19:15:01 +00:00

25 lines
455 B
Go

// 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 19710: mishandled defer delete(...)
package main
func main() {
if n := len(f()); n != 0 {
println("got", n, "want 0")
panic("bad defer delete")
}
}
func f() map[int]bool {
m := map[int]bool{}
for i := 0; i < 3; i++ {
m[i] = true
defer delete(m, i)
}
return m
}