rust
rust copied to clipboard
[early rough draft] GCI: Don't evaluate free const items with impossible predicates
@bors2 try @rust-timer queue
Awaiting bors try build completion.
@rustbot label: +S-waiting-on-perf
:hourglass: Trying commit 74ec3eab50aabb67fe2fd90b2dcee9855fd26b1b with merge 4151b9aaad261468f4260336981f34de2f05df15…
To cancel the try build, run the command @bors2 try cancel.
The job mingw-check-tidy failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
All checks passed!
checking python file formatting
28 files already formatted
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:01:15
local time: Tue Jun 10 12:32:22 UTC 2025
network time: Tue, 10 Jun 2025 12:32:23 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
:sunny: Try build successful (CI)
Build commit: 4151b9aaad261468f4260336981f34de2f05df15 (4151b9aaad261468f4260336981f34de2f05df15)
Queued 4151b9aaad261468f4260336981f34de2f05df15 with parent 40daf23eeb711dadf140b2536e67e3ff4c999196, future comparison URL. There are currently 4 preceding artifacts in the queue. It will probably take at least ~5.9 hours until the benchmark run finishes.
Finished benchmarking commit (4151b9aaad261468f4260336981f34de2f05df15): comparison URL.
Overall result: no relevant changes - no action needed
Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.
@bors rollup=never @rustbot label: -S-waiting-on-perf -perf-regression
Instruction count
This benchmark run did not return any relevant results for this metric.
Max RSS (memory usage)
Results (primary -5.1%, secondary -2.1%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
3.5% | [3.5%, 3.5%] | 1 |
| Improvements ✅ (primary) |
-5.1% | [-9.4%, -3.0%] | 6 |
| Improvements ✅ (secondary) |
-2.3% | [-4.3%, -1.1%] | 21 |
| All ❌✅ (primary) | -5.1% | [-9.4%, -3.0%] | 6 |
Cycles
This benchmark run did not return any relevant results for this metric.
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 753.145s -> 753.291s (0.02%) Artifact size: 372.18 MiB -> 372.22 MiB (0.01%)
Mono collector now uses instantiate_and_check_impossible_predicates which filters out predicates with early-bound regions contrary to impossible_predicates, so might have a mismatch in behavior between mono collection, reachability analysis and typeck which seems problematic but I haven't thought about it any further (does IACIP assume erased lifetimes?).
Despite that, imma recheck perf cuz I removed the predicates.is_empty() "micro opt".
@bors2 try @rust-timer queue
Awaiting bors try build completion.
@rustbot label: +S-waiting-on-perf
:hourglass: Trying commit 380088d922ec3713f9e685d246e2cc0ac9a616b0 with merge 10bc814a261100b40f7fa5feaa6a079876607337…
To cancel the try build, run the command @bors2 try cancel.
:sunny: Try build successful (CI)
Build commit: 10bc814a261100b40f7fa5feaa6a079876607337 (10bc814a261100b40f7fa5feaa6a079876607337, parent: e4b9d0141fdd210fcceebd2b67f7be113401c461)
Queued 10bc814a261100b40f7fa5feaa6a079876607337 with parent e4b9d0141fdd210fcceebd2b67f7be113401c461, future comparison URL. There is currently 1 preceding artifact in the queue. It will probably take at least ~1.9 hours until the benchmark run finishes.
Finished benchmarking commit (10bc814a261100b40f7fa5feaa6a079876607337): comparison URL.
Overall result: ❌ regressions - please read the text below
Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.
Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.
@bors rollup=never @rustbot label: -S-waiting-on-perf +perf-regression
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
1.1% | [0.3%, 1.6%] | 12 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 1.1% | [0.3%, 1.6%] | 12 |
Max RSS (memory usage)
Results (secondary -2.4%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-2.4% | [-4.1%, -1.4%] | 11 |
| All ❌✅ (primary) | - | - | 0 |
Cycles
Results (secondary -4.4%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-4.4% | [-4.5%, -4.4%] | 2 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 690.402s -> 688.347s (-0.30%) Artifact size: 372.03 MiB -> 371.86 MiB (-0.04%)
@bors2 try parent=last @rust-timer queue
Awaiting bors try build completion.
@rustbot label: +S-waiting-on-perf
:hourglass: Trying commit 0e9126c9235e334793be63d50c961ae20c7702ed with merge cea506b6d4e9d59bbdaea6b74051c551246bff6d…
To cancel the try build, run the command @bors2 try cancel.
:sunny: Try build successful (CI)
Build commit: cea506b6d4e9d59bbdaea6b74051c551246bff6d (cea506b6d4e9d59bbdaea6b74051c551246bff6d, parent: e4b9d0141fdd210fcceebd2b67f7be113401c461)
Queued cea506b6d4e9d59bbdaea6b74051c551246bff6d with parent e4b9d0141fdd210fcceebd2b67f7be113401c461, future comparison URL. There is currently 1 preceding artifact in the queue. It will probably take at least ~2.5 hours until the benchmark run finishes.
Finished benchmarking commit (cea506b6d4e9d59bbdaea6b74051c551246bff6d): comparison URL.
Overall result: ❌ regressions - please read the text below
Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.
Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.
@bors rollup=never @rustbot label: -S-waiting-on-perf +perf-regression
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.7% | [0.3%, 1.0%] | 8 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.7% | [0.3%, 1.0%] | 8 |
Max RSS (memory usage)
Results (primary 2.3%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.3% | [1.7%, 2.9%] | 2 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 2.3% | [1.7%, 2.9%] | 2 |
Cycles
Results (secondary -3.6%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-3.6% | [-4.1%, -3.0%] | 2 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 690.402s -> 687.107s (-0.48%) Artifact size: 372.03 MiB -> 371.92 MiB (-0.03%)
:umbrella: The latest upstream changes (presumably #142893) made this pull request unmergeable. Please resolve the merge conflicts.
PR #142893 (which conflicted with this PR / made it unmergeable) heavily affected perf. Thus I'm now retrying if this PR is still sensitive.
@bors2 try @rust-timer queue
Awaiting bors try build completion.
@rustbot label: +S-waiting-on-perf
:hourglass: Trying commit 8d3bc941dc8a6c3716401e20ae06b2862ea427cd with merge 41283df7b958f7c986dcf1d3920b6896ab276564…
To cancel the try build, run the command @bors2 try cancel.
:sunny: Try build successful (CI)
Build commit: 41283df7b958f7c986dcf1d3920b6896ab276564 (41283df7b958f7c986dcf1d3920b6896ab276564, parent: b94bd12401d26ccf1c3b04ceb4e950b0ff7c8d29)
Queued 41283df7b958f7c986dcf1d3920b6896ab276564 with parent b94bd12401d26ccf1c3b04ceb4e950b0ff7c8d29, future comparison URL. There are currently 11 preceding artifacts in the queue. It will probably take at least ~12.0 hours until the benchmark run finishes.
Finished benchmarking commit (41283df7b958f7c986dcf1d3920b6896ab276564): comparison URL.
Overall result: no relevant changes - no action needed
Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.
@bors rollup=never @rustbot label: -S-waiting-on-perf -perf-regression
Instruction count
This benchmark run did not return any relevant results for this metric.
Max RSS (memory usage)
Results (primary 0.4%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.0% | [1.5%, 2.4%] | 2 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.8% | [-2.8%, -2.8%] | 1 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.4% | [-2.8%, 2.4%] | 3 |
Cycles
Results (primary -1.5%, secondary 8.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.3% | [2.3%, 2.3%] | 1 |
| Regressions ❌ (secondary) |
8.2% | [0.7%, 13.3%] | 10 |
| Improvements ✅ (primary) |
-2.7% | [-5.1%, -1.0%] | 3 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | -1.5% | [-5.1%, 2.3%] | 4 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 462.452s -> 460.902s (-0.34%) Artifact size: 372.20 MiB -> 372.15 MiB (-0.01%)
Some changes occurred to the CTFE / Miri interpreter
cc @rust-lang/miri, @RalfJung, @oli-obk, @lcnr
@rustbot review
:umbrella: The latest upstream changes (presumably #144377) made this pull request unmergeable. Please resolve the merge conflicts.
semver concerns etc etc (voiced by Boxy) @rustbot author