-
Notifications
You must be signed in to change notification settings - Fork 13.9k
fix #[loop_match] on diverging loop
#144783
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
13d09ba to
36bf31d
Compare
|
r? compiler given that this was debugged by the both of us. |
|
I guess but also we have all the context here, it's a one-liner, and has no consequences outside of loop-match code. |
|
Some changes occurred in match lowering cc @Nadrieril |
| let scrutinee_place_builder = | ||
| unpack!(body_block = this.as_place_builder(body_block, scrutinee)); | ||
| let scrutinee_span = this.thir.exprs[scrutinee].span; | ||
| let scrutinee_place_builder = unpack!( | ||
| body_block = this.lower_scrutinee(body_block, scrutinee, scrutinee_span) | ||
| ); | ||
|
|
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.
this change adds a place mention of the scrutinee that was missing before.
this generated invalid MIR before
f0c2097 to
3e76b58
Compare
|
I've added the MIR tests, but #143806 still has a separate problem where we basically desugar to a The reason is that we don't accurately replicate what a (labeled) block does. We kind of can't with the existing approach, because we don't have an |
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.
|
@bors r+ |
|
☀️ 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 c0bb3b9 (parent) -> 154037f (this PR) Test differencesShow 6 test diffsStage 1
Stage 2
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 154037ffb82714a8d6264a9153622637b170c706 --output-dir test-dashboardAnd 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 (154037f): 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)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary 3.2%)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: 466.41s -> 467.56s (0.25%) |
tracking issue: #132306
fixes #144492
fixes #144493
fixes #144781
this generated invalid MIR before. issue #143806 still has an issue where we assign
state = statewhich is invalid in MIR. Fixing that problem is tricky, so I'd like to do that separately.r? @bjorn3