diff options
Diffstat (limited to 'test/fixedbugs/issue8620.go')
-rw-r--r-- | test/fixedbugs/issue8620.go | 30 |
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:]) +} |