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