Revert "trait_selection: Keep type-op region constraints in borrowck" - #162523
Conversation
|
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
|
|
This comment has been minimized.
This comment has been minimized.
This reverts commit 9318843, reversing changes made to 37719fa. The new region constraint handling runs on hot codepaths even when assumptions-on-binders is off and the constraint is just `true`, so we pay for it in the common case. Reverting to re-land it later with the new logic behind checks for whether AoB is enabled, so it can get a perf run.
7ed7954 to
393c127
Compare
|
@bors r+ rollup=never thanks for posting this, sorry for not catching that it might be perf sensitive |
This comment has been minimized.
This comment has been minimized.
…ype_op_constraints, r=BoxyUwU Revert "trait_selection: Keep type-op region constraints in borrowck" This reverts #161423. Boxy pointed out the problem after it landed: the code I touched there runs a lot, and I made it do the new region constraint work every time, even when assumptions-on-binders is off and the constraint is just `true`. So in the common case you end up paying for building and carrying around something nobody ever looks at. Fair point, and honestly I should have seen it myself while writing it. I was thinking about getting the correctness right and not really about how often those functions get called. The plan is to revert now and then re-land the same thing with the new logic behind checks for whether AoB is actually on, so we can get a perf run and look at real numbers instead of guessing. There is nothing clever in this PR. It is just `git revert -m 1` on the rollup merge, so the diff is the exact opposite of what went in. It applied with no conflicts on current main and `x check compiler` is fine, which I wanted to confirm because #162238 landed after this one and touches some of the same files. r? @BoxyUwU
|
💔 Test for c8976fe failed: CI. Failed job:
|
|
@bors retry |
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
@bors retry |
|
❗ You can only retry pull requests that are approved and have a previously failed auto build. Hint: If you wanted to retry pull request CI instead, push the latest commit again, or close and then reopen this PR. |
This comment has been minimized.
This comment has been minimized.
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 a36d05e (parent) -> 315ecf4 (this PR) Test differencesShow 8 test diffsStage 0
Stage 1
Additionally, 6 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 315ecf4a939def16631c2b25c3782ad67fc22160 --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 (315ecf4): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.8%, secondary -1.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.5%, secondary -3.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 481.833s -> 478.997s (-0.59%) |
This reverts #161423.
Boxy pointed out the problem after it landed: the code I touched there runs a lot, and I made it do the new region constraint work every time, even when assumptions-on-binders is off and the constraint is just
true. So in the common case you end up paying for building and carrying around something nobody ever looks at. Fair point, and honestly I should have seen it myself while writing it. I was thinking about getting the correctness right and not really about how often those functions get called.The plan is to revert now and then re-land the same thing with the new logic behind checks for whether AoB is actually on, so we can get a perf run and look at real numbers instead of guessing.
There is nothing clever in this PR. It is just
git revert -m 1on the rollup merge, so the diff is the exact opposite of what went in. It applied with no conflicts on current main andx check compileris fine, which I wanted to confirm because #162238 landed after this one and touches some of the same files.r? @BoxyUwU