mirror of
https://github.com/golang/go
synced 2024-11-02 13:42:29 +00:00
d5e01c044f
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>
25 lines
455 B
Go
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
|
|
}
|