Fixes #30087
Change-Id: Ic6d80f8e6e1831886af8613420b1bd129a1b4850
Reviewed-on: https://go-review.googlesource.com/c/161577
Reviewed-by: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
mismatch:
switch r.Op {
default:
- yyerror("assignment mismatch: %d variable but %d values", cl, cr)
+ yyerror("assignment mismatch: %d variables but %d values", cl, cr)
case OCALLFUNC, OCALLMETH, OCALLINTER:
yyerror("assignment mismatch: %d variables but %v returns %d values", cl, r.Left, cr)
}
--- /dev/null
+// errorcheck
+
+// Copyright 2019 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.
+
+package main
+
+func main() {
+ var a, b = 1 // ERROR "assignment mismatch: 2 variables but 1 values"
+ _ = 1, 2 // ERROR "assignment mismatch: 1 variables but 2 values"
+ c, d := 1 // ERROR "assignment mismatch: 2 variables but 1 values"
+ e, f := 1, 2, 3 // ERROR "assignment mismatch: 2 variables but 3 values"
+}