2014-12-30 13:31:17 -07:00
|
|
|
// run
|
|
|
|
|
2016-04-10 15:32:26 -06:00
|
|
|
// Copyright 2014 The Go Authors. All rights reserved.
|
2014-12-30 13:31:17 -07:00
|
|
|
// 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:])
|
|
|
|
}
|