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

normalize param-env type-outlives predicates last #54701

Merged
merged 1 commit into from
Oct 2, 2018

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Sep 30, 2018

The normalization of type-outlives predicates can depend on misc.
environment predicates, but not the other way around. Inferred lifetime
bounds can propagate type-outlives bounds far and wide, so their
normalization needs to work well.

Fixes #54467

r? @nikomatsakis
beta-nominating because this is required for inferred_outlives_bounds, which is in beta

@arielb1 arielb1 added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Sep 30, 2018
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 30, 2018
@bors
Copy link
Contributor

bors commented Sep 30, 2018

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

The normalization of type-outlives predicates can depend on misc.
environment predicates, but not the other way around. Inferred lifetime
bounds can propagate type-outlives bounds far and wide, so their
normalization needs to work well.

Fixes rust-lang#54467
@nikomatsakis
Copy link
Contributor

@bors r+ p=1

@bors
Copy link
Contributor

bors commented Oct 1, 2018

📌 Commit b95d048 has been approved by nikomatsakis

@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 Oct 1, 2018
@nikomatsakis
Copy link
Contributor

Giving p=1 because it's a regression fix and Edition-related

@bors
Copy link
Contributor

bors commented Oct 1, 2018

⌛ Testing commit b95d048 with merge 9051000ee30af8c04b2b8a3a324ca947d091c2cb...

@bors
Copy link
Contributor

bors commented Oct 1, 2018

💔 Test failed - status-travis

@rust-highfive
Copy link
Collaborator

Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 1, 2018
@kennytm
Copy link
Member

kennytm commented Oct 2, 2018

@bors retry

@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 Oct 2, 2018
@bors
Copy link
Contributor

bors commented Oct 2, 2018

⌛ Testing commit b95d048 with merge e812ca4...

bors added a commit that referenced this pull request Oct 2, 2018
normalize param-env type-outlives predicates last

The normalization of type-outlives predicates can depend on misc.
environment predicates, but not the other way around. Inferred lifetime
bounds can propagate type-outlives bounds far and wide, so their
normalization needs to work well.

Fixes #54467

r? @nikomatsakis
beta-nominating because this is required for inferred_outlives_bounds, which is in beta
@bors
Copy link
Contributor

bors commented Oct 2, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: nikomatsakis
Pushing e812ca4 to master...

@bors bors merged commit b95d048 into rust-lang:master Oct 2, 2018
@pietroalbini pietroalbini added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Oct 2, 2018
@pnkfelix
Copy link
Member

pnkfelix commented Oct 4, 2018

Discussed at T-compiler weekly meeting. @arielb1 argued that he thought backporting this PR was high risk compared to removing the inferring-of-outlives from the beta channel.

So, we are currently decling the beta-backport, and instead are removing inferring-of-outlives from beta channel.

(if for some reason it becomes critically important that the beta channel have inferring-of-outlives, then we should revisit this decision.)

@pnkfelix pnkfelix removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 4, 2018
bors added a commit that referenced this pull request Oct 9, 2018
[beta] back out #53793 - stabilize outlives requirements

Fixes #54467 for beta, looks like a less risky fix than #54701
@alexcrichton
Copy link
Member

I think this may have caused a slight regression in perf across some benchmarks, but perhaps that's intended?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

8 participants