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

Remove the "leak check" in favor of "universes" #48407

Closed
wants to merge 22 commits into from

Conversation

sgrif
Copy link
Contributor

@sgrif sgrif commented Feb 21, 2018

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 21, 2018
@nikomatsakis
Copy link
Contributor

@bors try

As @sgrif said, we'd like to do a crater run first, and then fix the build failures etc.

@bors
Copy link
Contributor

bors commented Feb 21, 2018

🔒 Merge conflict

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 21, 2018
@sgrif
Copy link
Contributor Author

sgrif commented Feb 22, 2018

I'll fix the merge conflict in the morning

@bors
Copy link
Contributor

bors commented Feb 22, 2018

☔ The latest upstream changes (presumably #48399) made this pull request unmergeable. Please resolve the merge conflicts.

@shepmaster
Copy link
Member

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 😇?

@nikomatsakis
Copy link
Contributor

I think @sgrif was waiting to #47861 to land... which it has now.

@nikomatsakis
Copy link
Contributor

@sgrif

As noted on gitter, we need to remove the universe from ParamEnv, now that we it is added into InferCtxt.

@sgrif
Copy link
Contributor Author

sgrif commented Mar 4, 2018

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.

@sgrif
Copy link
Contributor Author

sgrif commented Mar 6, 2018

@rust-lang/release needs crater

@pietroalbini pietroalbini added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 6, 2018
@pietroalbini
Copy link
Member

pietroalbini commented Mar 6, 2018

Added to the queue (there are 3 other PRs waiting before this one).

Edit: a try run is also needed

@sgrif
Copy link
Contributor Author

sgrif commented Mar 6, 2018

@nikomatsakis Can you ask bors for me please :)

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Mar 7, 2018

@sgrif I would but I see travis is sad

@bors
Copy link
Contributor

bors commented Mar 8, 2018

☔ The latest upstream changes (presumably #48806) made this pull request unmergeable. Please resolve the merge conflicts.

This reverts commit a985634.
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.
@aidanhs
Copy link
Member

aidanhs commented Mar 15, 2018

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

@bors
Copy link
Contributor

bors commented Mar 20, 2018

☔ The latest upstream changes (presumably #49190) made this pull request unmergeable. Please resolve the merge conflicts.

@sgrif
Copy link
Contributor Author

sgrif commented Mar 23, 2018

This is essentially blocked on #48696. I'm working on a fix

@shepmaster shepmaster added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 23, 2018
bors added a commit that referenced this pull request Mar 29, 2018
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
@shepmaster shepmaster added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Mar 30, 2018
sgrif added a commit to sgrif/rust that referenced this pull request Apr 2, 2018
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.
@shepmaster shepmaster added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Apr 7, 2018
@TimNN TimNN added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Apr 17, 2018
@TimNN TimNN added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Apr 24, 2018
bors added a commit that referenced this pull request May 4, 2018
…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
@shepmaster shepmaster added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels May 6, 2018
@shepmaster
Copy link
Member

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?

@nikomatsakis
Copy link
Contributor

@shepmaster in its current state no but I think we are more or less at the point where @sgrif can rebase

@sgrif
Copy link
Contributor Author

sgrif commented May 7, 2018

Yeah, I'm hoping to spend some time on it this week now that #50397 has been pulled out as a subset.

@sgrif
Copy link
Contributor Author

sgrif commented May 13, 2018

I'm on vacation for a while, so I'm going to close this until I can get it rebased

@sgrif sgrif closed this May 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-blocked Status: Blocked on something else such as an RFC or other implementation work.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants