New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/compile: inconsistent error message for assignment mismatch #30085

smasher164 opened this Issue Feb 5, 2019 · 4 comments


None yet
4 participants
Copy link

smasher164 commented Feb 5, 2019

Example runs on playground with go1.11.1.

package main

func main() {
	var a, b = 1 // prog.go:4:6: assignment mismatch: 2 variables but 1 values
	var c, d = 1, 2, 3 // prog.go:5:6: extra expression in var declaration
	var e, f, g = 1, 2 // prog.go:6:6: missing expression in var declaration
	h, i, j := 1, 2 // prog.go:7:10: assignment mismatch: 3 variables but 2 values

The two messages in the middle for “extra” and “missing” expressions don’t actually point to the offending expression that unbalances the assignment, making the message less useful. Moreover, a slight modification to the Lhs and Rhs results in the much more clear, “assignment mismatch” message. In my opinion, all of these declarations should result in the assignment mismatch error.


This comment has been minimized.

Copy link

agnivade commented Feb 5, 2019

While triaging this, I found a bigger problem which is a regression introduced in the 1.12 cycle. Filed #30087

@andybons andybons added this to the Unplanned milestone Feb 5, 2019


This comment has been minimized.

Copy link

andybons commented Feb 5, 2019


This comment has been minimized.

Copy link

gopherbot commented Feb 7, 2019

Change mentions this issue: cmd/compile: return assignment mismatch error in var declarations


This comment has been minimized.

Copy link
Contributor Author

smasher164 commented Feb 7, 2019

Sent in a follow-up CL, but there's obviously no rush for 1.12.

@andybons andybons added NeedsFix and removed NeedsInvestigation labels Feb 7, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment