]> Cypherpunks repositories - gostls13.git/commitdiff
test: add test of deferred delete
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 15 May 2017 17:41:25 +0000 (10:41 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 15 May 2017 19:15:01 +0000 (19:15 +0000)
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>
test/fixedbugs/issue19710.go [new file with mode: 0644]

diff --git a/test/fixedbugs/issue19710.go b/test/fixedbugs/issue19710.go
new file mode 100644 (file)
index 0000000..c42ea7c
--- /dev/null
@@ -0,0 +1,25 @@
+// 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
+}