Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
Collaborator

bors commented Oct 12, 2016

📌 Commit e8cccdb has been approved by eddyb

@bors
Copy link
Collaborator

bors commented Oct 13, 2016

⌛ Testing commit e8cccdb with merge cc76d49...

@bors
Copy link
Collaborator

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
Collaborator

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
Collaborator

bors commented Oct 14, 2016

⌛ Testing commit ee338c3 with merge 9872eab...

@bors
Copy link
Collaborator

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
Collaborator

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
Collaborator

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
# for free to join this conversation on GitHub. Already have an account? # 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