|  | // errorcheck | 
|  |  | 
|  | // Copyright 2017 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. | 
|  |  | 
|  | // Verify that copy arguments requirements are enforced by the | 
|  | // compiler. | 
|  |  | 
|  | package main | 
|  |  | 
|  | func main() { | 
|  |  | 
|  | si := make([]int, 8) | 
|  | sf := make([]float64, 8) | 
|  |  | 
|  | _ = copy()        // ERROR "missing arguments" | 
|  | _ = copy(1, 2, 3) // ERROR "too many arguments" | 
|  |  | 
|  | _ = copy(si, "hi") // ERROR "have different element types.*int.*string" | 
|  | _ = copy(si, sf)   // ERROR "have different element types.*int.*float64" | 
|  |  | 
|  | _ = copy(1, 2)  // ERROR "must be slices; have int, int" | 
|  | _ = copy(1, si) // ERROR "first argument to copy should be" | 
|  | _ = copy(si, 2) // ERROR "second argument to copy should be" | 
|  |  | 
|  | } |