summaryrefslogtreecommitdiffstats
path: root/test/fixedbugs/issue8620.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/fixedbugs/issue8620.go')
-rw-r--r--test/fixedbugs/issue8620.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/fixedbugs/issue8620.go b/test/fixedbugs/issue8620.go
new file mode 100644
index 0000000..4754604
--- /dev/null
+++ b/test/fixedbugs/issue8620.go
@@ -0,0 +1,30 @@
+// run
+
+// Copyright 2014 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 8620. Used to fail with -race.
+
+package main
+
+func min(a, b int) int {
+ if a < b {
+ return a
+ }
+ return b
+}
+
+func test(s1, s2 []struct{}) {
+ n := min(len(s1), len(s2))
+ if copy(s1, s2) != n {
+ panic("bad copy result")
+ }
+}
+
+func main() {
+ var b [100]struct{}
+ test(b[:], b[:])
+ test(b[1:], b[:])
+ test(b[:], b[2:])
+}