Skip to content
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

fix recursion depth handling after confirmation #111754

Merged
merged 2 commits into from
May 22, 2023

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented May 19, 2023

fixes #111729

I think having to use Obligation::with_depth correctly everywhere is very hard because e.g. the nested obligations from eq currently do not have the correct obligation depth.

The new solver completely removes recursion_depth from obligations and instead tracks the depth in the solver itself which is far easier to get right. Moving the old solver towards this shouldn't be that hard but is probably somewhat annoying.

r? @matthewjasper

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 19, 2023
@lcnr lcnr added the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 19, 2023
@lcnr
Copy link
Contributor Author

lcnr commented May 19, 2023

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 19, 2023
@bors
Copy link
Contributor

bors commented May 19, 2023

⌛ Trying commit c5ec1b8 with merge cda0dbd5e6e7ae60b515cc1f6481418b9cc6953b...

@matthiaskrgr
Copy link
Member

fixes https://github.com/rust-lang/rust/pull/111736
this is the other PR, not the ticket I reported :D probably just a typo (paste-o?)

@apiraino
Copy link
Contributor

just to understand what we want to backport: this PR replaces #111736?

@lcnr
Copy link
Contributor Author

lcnr commented May 19, 2023

just to understand what we want to backport: this PR replaces #111736?

That's my intent, yes

@bors
Copy link
Contributor

bors commented May 19, 2023

☀️ Try build successful - checks-actions
Build commit: cda0dbd5e6e7ae60b515cc1f6481418b9cc6953b (cda0dbd5e6e7ae60b515cc1f6481418b9cc6953b)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (cda0dbd5e6e7ae60b515cc1f6481418b9cc6953b): comparison URL.

Overall result: ❌ regressions - no action needed

Benchmarking 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
@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.8% [0.8%, 0.8%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This 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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.2% [-5.7%, -3.1%] 3
All ❌✅ (primary) - - 0

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: 641.09s -> 642.114s (0.16%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 19, 2023
@lcnr
Copy link
Contributor Author

lcnr commented May 22, 2023

alright

@rustbot ready

@matthewjasper
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented May 22, 2023

📌 Commit c5ec1b8 has been approved by matthewjasper

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 22, 2023
@bors
Copy link
Contributor

bors commented May 22, 2023

⌛ Testing commit c5ec1b8 with merge cfcde24...

@bors
Copy link
Contributor

bors commented May 22, 2023

☀️ Test successful - checks-actions
Approved by: matthewjasper
Pushing cfcde24 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 22, 2023
@bors bors merged commit cfcde24 into rust-lang:master May 22, 2023
@rustbot rustbot added this to the 1.71.0 milestone May 22, 2023
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (cfcde24): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.3% [0.2%, 0.4%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This 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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.6% [-1.6%, -1.6%] 1
All ❌✅ (primary) - - 0

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: 643.016s -> 644.61s (0.25%)

@lcnr lcnr deleted the recursion-depth branch May 23, 2023 15:26
@apiraino
Copy link
Contributor

Beta backport approved as per compiler team on Zulip

@rustbot label +beta-accepted

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label May 25, 2023
@cuviper cuviper mentioned this pull request May 26, 2023
@cuviper cuviper modified the milestones: 1.71.0, 1.70.0 May 26, 2023
@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 26, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request May 26, 2023
[beta] backport

- Dont check `must_use` on nested `impl Future` from fn rust-lang#111491
- fix recursion depth handling after confirmation rust-lang#111754

r? cuviper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OOM during type collection
8 participants