Provide better error message when assigning to tuple element #1563
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change addresses the second part of #1560 by adding an explicit error message when assigning to a tuple element:
I went with the approach of making this a parse-time error for simplicity. I ran all the unit tests and verified that the number of shift-reduce conflicts haven't changed after implementing this.
An alternative approach is to allow tuple assignment to parse successfully, and then make tuple assignment error later during semantic analysis. This would be a little more complex, but would also provide a better error message (since it can disambiguate between assigning to tuples vs. assigning to maps). Let me know if this approach is preferable.
Checklist
docs/reference_guide.md
CHANGELOG.md