go/test/fixedbugs/issue8620.go
Matthew Dempsky 537ddc9456 runtime: fix slicecopy return value for zero-width elements
Fixes #8620

Change-Id: Idb49e586919d21d07e94a39ed9ebb0562f403460
Reviewed-on: https://go-review.googlesource.com/2221
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-01-04 01:59:59 +00:00

31 lines
497 B
Go

// 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:])
}