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

Open
smasher164 opened this Issue Feb 5, 2019 · 4 comments

Comments

Projects
None yet
4 participants
@smasher164
Copy link
Contributor

smasher164 commented Feb 5, 2019

Example runs on playground with go1.11.1.
https://play.golang.org/p/UoxPKcFBMCG

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.

@agnivade

This comment has been minimized.

Copy link
Member

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

@andybons

This comment has been minimized.

Copy link
Member

andybons commented Feb 5, 2019

@gopherbot

This comment has been minimized.

Copy link

gopherbot commented Feb 7, 2019

Change https://golang.org/cl/161558 mentions this issue: cmd/compile: return assignment mismatch error in var declarations

@smasher164

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