-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
coverage: Branch coverage support for let-else and if-let #124223
Conversation
e261e42
to
63f729e
Compare
Record if-let branches a bit later, to avoid unwrapping anything (diff). |
9697dc5
to
ae0c376
Compare
Originally I was holding this back until after #124154, both to make branch management easier, and to see whether further work on that PR would prompt changes to this one. But while the future of #124154 remains a bit murky, I think it now makes sense to merge this PR as an independent improvement in its own right. |
Some changes occurred in match lowering cc @Nadrieril |
r? compiler |
6e2e80a
to
8db41bb
Compare
After a rebase, I reintroduced an intermediate method instead of calling This is indeed a nice improvement. In hindsight, a lot of my reasons for having done things the other way have now evaporated. |
☔ The latest upstream changes (presumably #124399) made this pull request unmergeable. Please resolve the merge conflicts. |
8db41bb
to
5225ae0
Compare
5225ae0
to
7c87ad0
Compare
@bors r+ |
…er-errors coverage: Branch coverage support for let-else and if-let This PR adds branch coverage instrumentation for let-else and if-let, including let-chains. This lifts two of the limitations listed at rust-lang#124118.
…er-errors coverage: Branch coverage support for let-else and if-let This PR adds branch coverage instrumentation for let-else and if-let, including let-chains. This lifts two of the limitations listed at rust-lang#124118.
…iaskrgr Rollup of 3 pull requests Successful merges: - rust-lang#124223 (coverage: Branch coverage support for let-else and if-let) - rust-lang#124571 (coverage: Clean up `mcdc_bitmap_bytes` and `conditions_num`) - rust-lang#124838 (next_power_of_two: add a doctest to show what happens on 0) r? `@ghost` `@rustbot` modify labels: rollup
☀️ Test successful - checks-actions |
Finished benchmarking commit (5486f0c): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 677.065s -> 676.569s (-0.07%) |
This PR adds branch coverage instrumentation for let-else and if-let, including let-chains.
This lifts two of the limitations listed at #124118.