Skip to content

normalize types every time HR regions are erased - #37129

Merged
bors merged 2 commits into
rust-lang:masterfrom
arielb1:erased-normal
Oct 17, 2016
Merged

normalize types every time HR regions are erased#37129
bors merged 2 commits into
rust-lang:masterfrom
arielb1:erased-normal

Conversation

@arielb1

Copy link
Copy Markdown
Contributor

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

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

Copy link
Copy Markdown
Contributor

@bors r+

@bors

bors commented Oct 12, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit e8cccdb has been approved by eddyb

@bors

bors commented Oct 13, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit e8cccdb with merge cc76d49...

@bors

bors commented Oct 13, 2016

Copy link
Copy Markdown
Collaborator

💔 Test failed - auto-linux-cross-opt

@TimNN

Copy link
Copy Markdown
Contributor

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.
Fixesrust-lang#37109 (the missing call was in mir::block).
@arielb1

Copy link
Copy Markdown
ContributorAuthor

@bors r=eddyb

@bors

bors commented Oct 13, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit ee338c3 has been approved by eddyb

@brson

Copy link
Copy Markdown
Contributor

@bors p=1

@brsonbrson mentioned this pull request Oct 14, 2016
@bors

bors commented Oct 14, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit ee338c3 with merge 9872eab...

@bors

bors commented Oct 14, 2016

Copy link
Copy Markdown
Collaborator

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

@alexcrichton

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

But the test passes on travis

@bors retry

@bors

bors commented Oct 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ 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

bors commented Oct 16, 2016

Copy link
Copy Markdown
Collaborator

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

@arielb1

Copy link
Copy Markdown
ContributorAuthor

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

@alexcrichton

Copy link
Copy Markdown
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:masterOct 17, 2016
@borsbors mentioned this pull request Oct 17, 2016
@brsonbrson mentioned this pull request Oct 18, 2016
@nikomatsakisnikomatsakis added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Oct 18, 2016
@nikomatsakis

Copy link
Copy Markdown
Contributor

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

cc @rust-lang/compiler

@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 18, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@arielb1@eddyb@bors@TimNN@brson@alexcrichton@nikomatsakis