blob: c000f8357da651a2e30d431ab6b80034c9e3d076 [file] [log] [blame]
Dan Willemsenbc60c3c2021-12-15 01:09:00 -08001// errorcheck
2
3// Copyright 2021 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
7package p
8
9func f0()
10func f1(_ int)
11func f2(_, _ int)
12func f2ddd(_, _ int, _ ...int)
13
14func f() {
15 var x int
16 f0(1) // ERROR "too many arguments in call to f0\n\thave \(number\)\n\twant \(\)"
17 f0(x) // ERROR "too many arguments in call to f0\n\thave \(int\)\n\twant \(\)"
18 f1() // ERROR "not enough arguments in call to f1\n\thave \(\)\n\twant \(int\)"
19 f1(1, 2) // ERROR "too many arguments in call to f1\n\thave \(number, number\)\n\twant \(int\)"
20 f2(1) // ERROR "not enough arguments in call to f2\n\thave \(number\)\n\twant \(int, int\)"
21 f2(1, "foo", true) // ERROR "too many arguments in call to f2\n\thave \(number, string, bool\)\n\twant \(int, int\)"
22 f2ddd(1) // ERROR "not enough arguments in call to f2ddd\n\thave \(number\)\n\twant \(int, int, \.\.\.int\)"
23 f2ddd(1, 2)
24 f2ddd(1, 2, 3)
25}