-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Remove let_chains unstable feature #143214
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
Conversation
rustbot has assigned @WaffleLapkin. Use |
Some changes occurred in coverage tests. cc @Zalathar |
d58ccd4
to
bd8ed03
Compare
This comment has been minimized.
This comment has been minimized.
i believe it should not be removed according to this but may be wrong |
bd8ed03
to
3ff44da
Compare
This comment has been minimized.
This comment has been minimized.
3ff44da
to
d701341
Compare
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit sad about not being able to test the behaviour of let chains drop order on different editions like done in drop-order-comparisons.rs
. But I suppose it's not worth it to keep around an unstable feature just for that.
Thanks for taking this over @camsteffen ! |
d701341
to
dc9879c
Compare
Some changes occurred in src/tools/rustfmt cc @rust-lang/rustfmt |
Addressed comments and fixed a rustfmt test.
Yeah, agreed. It would only be a source of historical record rather than testing actual behavior of rustc. |
I did look at those tests when trying to figure out if let chains in match guards can be stabilized on all editions or not. I adapted some of those tests to match guards and they worked on edition 2021. Them failing on edition 2021 for if let chains assured me that the tests are indeed showcasing the edition relevant changes. But I suppose one can always use an older version of the compiler. Or just bring it back in the future. |
r? @est31 |
@bors r+ rollup |
@bors rollup- for the rustfmt subtree changes. maybe better to have them separate. |
@bors rollup=never (meant that one instead) |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing b94bd12 (parent) -> 1ce9c97 (this PR) Test differencesShow 259 test diffsStage 1
Stage 2
(and 157 additional test diffs) Additionally, 2 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 1ce9c977ffcff7c3b12bfe5629a682da0e74a7a1 --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Finished benchmarking commit (1ce9c97): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 3.0%, secondary 2.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -1.1%, secondary -0.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 462.452s -> 460.331s (-0.46%) |
Upstream change rust-lang/rust#143214 (Remove let_chains unstable feature) requires us to either remove the use of `let` in several places or wholesale update to Rust edition 2024. Doing this edition update seems worthwhile to keep accessing more recent features, but required code changes in several places. Resolves: model-checking#4196
Upstream change rust-lang/rust#143214 (Remove let_chains unstable feature) requires us to either remove the use of `let` in several places or wholesale update to Rust edition 2024. Doing this edition update seems worthwhile to keep accessing more recent features, but required code changes in several places. This is in preparation of the toolchain upgrade to 2025-07-03, but does not actually do this upgrade for it will require other, unrelated changes. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses. --------- Co-authored-by: Carolyn Zech <[email protected]>
Relevant upstream PRs: - rust-lang/rust#143214 (Remove let_chains unstable feature) - rust-lang/rust#143036 (Remove support for `dyn*` from the compiler) The latter was tracked as an unsupported feature in Kani, whereby we can resolve one of our own issues as well. Resolves: model-checking#4196 Resolves: model-checking#1784
Per #53667 (comment) (but then I also noticed #140722)
This replaces the feature gate with a parser error that says let chains require 2024.
A lot of tests were using the unstable feature. I either added edition:2024 to the test or split out the parts that require 2024.