-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Remove the "leak check" in favor of "universes" #48407
Conversation
🔒 Merge conflict |
I'll fix the merge conflict in the morning |
☔ The latest upstream changes (presumably #48399) made this pull request unmergeable. Please resolve the merge conflicts. |
Ping from triage, @sgrif! We haven't heard from you in a week; perhaps you have moved to a very polar location and "morning" takes a few weeks to occur 😇? |
As noted on gitter, we need to remove the |
Yup, was waiting on that (and just had a busy week at work which kept me from having time to work on this). Still on the radar, planning on just deleting all the compile-fail and ui tests that are failing in order to get a crater run going. |
0d0ca02
to
123ff00
Compare
@rust-lang/release needs crater |
Added to the queue (there are 3 other PRs waiting before this one). Edit: a try run is also needed |
@nikomatsakis Can you ask bors for me please :) |
@sgrif I would but I see travis is sad |
☔ The latest upstream changes (presumably #48806) made this pull request unmergeable. Please resolve the merge conflicts. |
This reverts commit 755bdaa.
This reverts commit 17df455.
This reverts commit a985634.
This reverts commit 35e78b5.
This reverts commit d4df52c.
This reverts commit 13efaf0.
Always using root environment for now.
This gives each type inference variable a notion of universe but doesn't do anything with it. We can always get the "current universe" from infer_ctxt. This relies on the property of type variables that they can never interact with siblings.
Just as a passing note - this has no try run so can't be crater run. I've marked it back as waiting on author (merge conflicts will need resolving, tests don't need to pass but it's usually a good idea). |
c6b875d
to
3f599ad
Compare
☔ The latest upstream changes (presumably #49190) made this pull request unmergeable. Please resolve the merge conflicts. |
This is essentially blocked on #48696. I'm working on a fix |
Remove universes from `ty::ParamEnv` This change was never meant to land. #48407 takes an alternate approach. However, that PR is now blocked on some issues with canonicalization, and rebasing these reverts gets harder each time, so let's just get this bit out of the way now. r? @nikomatsakis
Since `ReSkolemized` has the flag `KEEP_IN_LOCAL_TCX`, and canonicalization is meant to ensure that flag is no longer present, it implicitly is depending on the existence of the leak check. However, since we want to remove that in rust-lang#48407, we can no longer make that assumption. This is related to rust-lang#48696, but does not resolve it. This does unblock that PR, however. It could have been tacked on there, but I wanted to make sure this is a reasonable short term approach separately from that.
…matsakis Refactorings in preparation for the removal of the leak check This contains all of the commits from #48407 that I was able to pull out on their own. This has most of the refactoring/ground work to unblock other work, but without the behavior changes that still need a crater run and NLL changes. r? @nikomatsakis
This has been blocked for a long time and seemingly on a chain of dependencies. There's quite a lot of merge conflicts. Does this PR have any value in its current state? |
@shepmaster in its current state no but I think we are more or less at the point where @sgrif can rebase |
Yeah, I'm hoping to spend some time on it this week now that #50397 has been pulled out as a subset. |
I'm on vacation for a while, so I'm going to close this until I can get it rebased |
See #48049 and https://gist.github.com/nikomatsakis/87822133b2d85ccac801e08bcb9702de for context. This branch is not yet expected to pass compile-fail or UI tests, nor does it work with NLL. However, it should be ready for a crater run. This PR requires #47861.
r? @nikomatsakis