1// errorcheck
2
3// Copyright 2017 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7// Verify that append arguments requirements are enforced by the
8// compiler.
9
10package main
11
12func main() {
13
14	s := make([]int, 8)
15
16	_ = append()           // ERROR "missing arguments to append|not enough arguments for append"
17	_ = append(s...)       // ERROR "cannot use ... on first argument|not enough arguments in call to append"
18	_ = append(s, 2, s...) // ERROR "too many arguments to append|too many arguments in call to append"
19
20	_ = append(s, make([]int, 0))     // ERROR "cannot use make\(\[\]int, 0\) \(value of type \[\]int\) as int value in argument to append"
21	_ = append(s, make([]int, -1)...) // ERROR "negative len argument in make|index -1.* must not be negative"
22}
23