-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Make NLL Type Relating Eager #108861
Make NLL Type Relating Eager #108861
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
/// Flag that is set when we enter canonicalization. Used for debugging to ensure | ||
/// that we only collect region information for `BorrowckInferCtxt::reg_var_to_origin` | ||
/// inside non-canonicalization contexts. | ||
pub inside_canonicalization_ctxt: RefCell<bool>, |
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.
Can we just use a cell for this?
I don't know what is this about. |
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
⌛ Trying commit bad5a1251f4369c1de97168d6364b41bc4f51695 with merge 3226a976e09f80fe581c11d2fb5f684eb8059b12... |
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (3226a976e09f80fe581c11d2fb5f684eb8059b12): comparison URL. Overall result: ❌✅ regressions and improvements - no action neededBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. @bors rollup=never 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.
|
r=me after rebase expect there to be some further cleanup possible but I am already pretty happy that we stop lazily relating stuff here |
r? @lcnr |
please fixup 57ab3d23846270f6c8fa1d2af229688b6800311e onto the first commit |
…ug in non-canonicalization contexts
bad5a12
to
b8a646d
Compare
These commits modify the If this was intentional then you can ignore this comment. |
2f5ce51
to
4b6484e
Compare
@bors r=lcnr |
📌 Commit 4b6484e88561ee71cb485bb61cd3047a1f3f27c2 has been approved by It is now in the queue for this repository. |
@b-naber could you squash that "Cargo.lock" commit into whatever commit below it in the stack actually touches the lockfile? It's weird to (presumably accidentally) modify it then revert the modification in separate commits 😅 |
Especially because that commit probably should've been titled "revert changes to Cargo.lock" or something more descriptive in any case 😄 But I'd prefer if it didn't exist in the history at all. |
@bors r- |
4b6484e
to
8f4cf2e
Compare
Sorry about that. |
@bors r=lcnr |
☀️ Test successful - checks-actions |
Finished benchmarking commit (1c771fe): comparison URL. Overall result: ❌ regressions - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @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.
|
this slightly differs from the previous perf run #108861 (comment) is that noise or did something else change between them? |
I'm not sure whether it's noise or not. The only thing that's changed is that we switched from I'm not sure whether tracking the canonicalization context in general is somewhat expensive, but I would suppose just mutating a Also kind of weird that the |
|
Going to mark this as triaged. A good chunk of the regressions are noise, and the rest are small enough that I don't think it's worth looking too deeply into. @rustbot label: +perf-regression-triaged |
cleanup nll generalizer followup to rust-lang#108861
cleanup nll generalizer followup to rust-lang#108861
cleanup nll generalizer followup to rust-lang#108861
We previously instantiated bound regions in nll type relating lazily. Making this eager is more consistent with how we handle type relating in
higher_ranked_sub
and should allow us to short circuit in case there's structural equality.