Skip to content

let_chains stabilization followups #140722

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

Open
5 of 9 tasks
est31 opened this issue May 6, 2025 · 0 comments
Open
5 of 9 tasks

let_chains stabilization followups #140722

est31 opened this issue May 6, 2025 · 0 comments
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC F-let_chains `#![feature(let_chains)]` T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@est31
Copy link
Member

est31 commented May 6, 2025

PR #132833 has stabilized let_chains on edition 2024, but that's not the whole story. As the stabilization report writes:

this stabilization PR only makes it possible to use let chains on 2024 without that feature gate, it doesn't mark that feature gate as stable/removed. I would propose to continue offering the let_chains feature (behind a feature gate) for a limited time (maybe 3 months after stabilization?) on older editions to allow nightly users to adopt edition 2024 at their own pace. After that, the feature gate shall be marked as stabilized, not removed, and replaced by an error on editions 2021 and below.

Currently there is a bunch of use by the components making up the compiler. Not all are subtrees, and we should try to minimize forced updates via subtrees.

Once this is all done:

  • remove usage of the feature gate from tests, either by upgrading the edition, or by removing the variant or the entire test
  • mark the feature gate as stabilized, remove gating, and introduce a <=2021 specific error when trying to use let_chains.
@est31 est31 added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. F-let_chains `#![feature(let_chains)]` labels May 6, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label May 6, 2025
@jieyouxu jieyouxu added C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels May 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC F-let_chains `#![feature(let_chains)]` T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants