Skip to content
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

Fix invalid let syntax from LHS views #53108

Merged
merged 1 commit into from
Jan 30, 2024
Merged

Fix invalid let syntax from LHS views #53108

merged 1 commit into from
Jan 30, 2024

Conversation

mbauman
Copy link
Member

@mbauman mbauman commented Jan 29, 2024

When the frontend lowers an expression like lhs .+= rhs, it needs to prevent evaluating the LHS more than once before re-writing to lhs .= lhs .+ rhs. If the LHS was a let block — commonly generated by @views and (since #53064) @view — the lowering pass had previously been emitting an invalid let temporary. This very directly addresses that case.

Fixes #53107.
Fixes #44356.

@mbauman mbauman added the compiler:lowering Syntax lowering (compiler front end, 2nd stage) label Jan 29, 2024
@mbauman mbauman requested a review from JeffBezanson January 29, 2024 21:28
@vtjnash vtjnash merged commit 9f643a0 into master Jan 30, 2024
7 of 10 checks passed
@vtjnash vtjnash deleted the mb/letviewsbe branch January 30, 2024 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:lowering Syntax lowering (compiler front end, 2nd stage)
Projects
None yet
2 participants