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 types every time HR regions are erased #37129

Merged
merged 2 commits into from
Oct 17, 2016

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Oct 12, 2016

Associated type normalization is inhibited by higher-ranked regions.
Therefore, every time we erase them, we must re-normalize.

I was meaning to introduce this change some time ago, but we used
to erase regions in generic context, which broke this terribly (because
you can't always normalize in a generic context). That seems to be gone
now.

Ensure this by having a erase_late_bound_regions_and_normalize
function.

Fixes #37109 (the missing call was in mir::block).

r? @eddyb

@arielb1 arielb1 added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 12, 2016
@eddyb
Copy link
Member

eddyb commented Oct 12, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Oct 12, 2016

📌 Commit e8cccdb has been approved by eddyb

@bors
Copy link
Contributor

bors commented Oct 13, 2016

⌛ Testing commit e8cccdb with merge cc76d49...

@bors
Copy link
Contributor

bors commented Oct 13, 2016

💔 Test failed - auto-linux-cross-opt

@TimNN
Copy link
Contributor

TimNN commented Oct 13, 2016

My attempt at fixing this issue (#37110) was apparently merged as part of the rollup #37118, so it's probably a good idea to revert that commit (7badc32) as part of this PR.

Associated type normalization is inhibited by higher-ranked regions.
Therefore, every time we erase them, we must re-normalize.

I was meaning to introduce this change some time ago, but we used
to erase regions in generic context, which broke this terribly (because
you can't always normalize in a generic context). That seems to be gone
now.

Ensure this by having a `erase_late_bound_regions_and_normalize`
function.

Fixes rust-lang#37109 (the missing call was in mir::block).
@arielb1
Copy link
Contributor Author

arielb1 commented Oct 13, 2016

@bors r=eddyb

@bors
Copy link
Contributor

bors commented Oct 13, 2016

📌 Commit ee338c3 has been approved by eddyb

@brson
Copy link
Contributor

brson commented Oct 14, 2016

@bors p=1

@bors
Copy link
Contributor

bors commented Oct 14, 2016

⌛ Testing commit ee338c3 with merge 9872eab...

@bors
Copy link
Contributor

bors commented Oct 14, 2016

💔 Test failed - auto-win-gnu-64-opt

@alexcrichton
Copy link
Member

Looks like associated-types-issue-20220 never finished. Did this perhaps regress that test to infinite loop or otherwise take a long time to compile?

@arielb1
Copy link
Contributor Author

arielb1 commented Oct 16, 2016

But the test passes on travis

@bors retry

@bors
Copy link
Contributor

bors commented Oct 16, 2016

⌛ Testing commit ee338c3 with merge 6572a46...

bors added a commit that referenced this pull request Oct 16, 2016
normalize types every time HR regions are erased

Associated type normalization is inhibited by higher-ranked regions.
Therefore, every time we erase them, we must re-normalize.

I was meaning to introduce this change some time ago, but we used
to erase regions in generic context, which broke this terribly (because
you can't always normalize in a generic context). That seems to be gone
now.

Ensure this by having a `erase_late_bound_regions_and_normalize`
function.

Fixes #37109 (the missing call was in mir::block).

r? @eddyb
@bors
Copy link
Contributor

bors commented Oct 16, 2016

💔 Test failed - auto-mac-64-opt-rustbuild

@arielb1
Copy link
Contributor Author

arielb1 commented Oct 16, 2016

That test runs at the same speed on stage0/stage2 on my local machine.

@alexcrichton
Copy link
Member

@bors: retry

On Sun, Oct 16, 2016 at 6:25 AM, arielb1 notifications@github.com wrote:

That test runs at the same speed on stage0/stage2 on my local machine.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#37129 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95M07vsqAFDHFC_rfZ0SPo9BIcykUks5q0iXIgaJpZM4KVO_v
.

@bors bors merged commit ee338c3 into rust-lang:master Oct 17, 2016
@bors bors mentioned this pull request Oct 17, 2016
@brson brson mentioned this pull request Oct 18, 2016
@nikomatsakis nikomatsakis added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Oct 18, 2016
@nikomatsakis
Copy link
Contributor

Marking as beta-accepted. Low-risk (running normalize can't really cause bugs), regression.

cc @rust-lang/compiler

@brson brson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 18, 2016
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants