-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
regression: let-else syntax restriction (right curly brace not allowed) #121608
Comments
I'm pretty sure this is from #119062. |
Thanks! It sounds like the FCP there was made with "no breakage found" (#119062 (comment)), so nominating for lang to see if we want to revisit the decision. (My sense is no, given the single GitHub repo that's affected based on beta crater). |
Dropping compiler while lang decides what to do. |
Looks like it was committed in the last month. Pretty hilarious and unfortunate timing, but I think that we should accept this breakage given it's a single crate -- however, let's double check with T-lang. |
It was committed on December 18 (Rayzeq/UntimedExplosion@feed6fa), 25 hours after my analysis of crates.io in #118880 (comment). (The crate is not published to crates.io so I wouldn't have seen it anyway.) Another unfortunate coincidence: the function it's in has the following comment, so the author is already having quite an experience with toolchains: // WARNING: EventStream is broken with rust 1.74.X, stay on 1.73.X until this is fixed |
Starting an FCP to confirm we want to go ahead with this. I sent the author of that repo a PR to fix it. :) @rfcbot merge |
Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. |
@rustbot labels -I-lang-nominated We discussed this in the meeting today. The mood was distinctly in favor of going ahead with this intended breakage, and as above, we're confirming that consensus via FCP. We'll unnnominate. |
Nominating for synchronous discussion because we don't seem to have managed to get checkboxes asynchronously. :) |
@rustbot labels -I-lang-nominated We discussed this in the meeting today 2024-07-17, to make people aware, but with no more discussion of substance. |
My personal opinion is that this restriction should eventually be relaxed or removed. There's no reason you shouldn't be able to write, for example, let Some(foo) = unsafe { (*foo).method() } else {
panic!()
}; and the inconsistency with other forms in the language doesn't make sense to me. I had no problem with this fix which made the let-else restriction more internally consistent (if I'm remembering correctly) when there was no breakage. The breakage might have made me think twice, but it's too late at this point. Since only one crate was broken and this has since hit stable, I don't think there's anything for us to do now. |
https://crater-reports.s3.amazonaws.com/beta-1.77-3/beta-2024-02-18/gh/Rayzeq.UntimedExplosion/log.txt
I suspect this was an intentional change but we should track down the PR and make sure it's mentioned in relnotes.
The text was updated successfully, but these errors were encountered: