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

avoid type-live-for-region obligations on dummy nodes #46226

Merged
merged 2 commits into from
Nov 30, 2017

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Nov 23, 2017

Type-live-for-region obligations on DUMMY_NODE_ID cause an ICE, and it
turns out that in the few cases they are needed, these obligations are not
needed anyway because they are verified elsewhere.

Fixes #46069.

Beta-nominating because this is a regression for our new beta.
r? @nikomatsakis

@arielb1 arielb1 added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Nov 23, 2017
@kennytm kennytm added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 24, 2017
// them here too, and we will remove this function when
// we move over to lazy normalization *anyway*.
let fulfill_cx = FulfillmentContext::new_ignoring_regions();

let predicates = match fully_normalize(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean fully_normalize_with_fulfillcx here?

[00:08:49] error[E0061]: this function takes 4 parameters but 5 parameters were supplied
[00:08:49]    --> /checkout/src/librustc/traits/mod.rs:533:13
[00:08:49]     |
[00:08:49] 533 |               &infcx,
[00:08:49]     |               ^^^^^^ expected 4 parameters
[00:08:49] ...
[00:08:49] 588 | / pub fn fully_normalize<'a, 'gcx, 'tcx, T>(infcx: &InferCtxt<'a, 'gcx, 'tcx>,
[00:08:49] 589 | |                                           cause: ObligationCause<'tcx>,
[00:08:49] 590 | |                                           param_env: ty::ParamEnv<'tcx>,
[00:08:49] 591 | |                                           value: &T)
[00:08:49] ...   |
[00:08:49] 609 | |     fully_normalize_with_fulfillcx(infcx, fulfillcx, cause, param_env, value)
[00:08:49] 610 | | }
[00:08:49]     | |_- defined here

Type-live-for-region obligations on DUMMY_NODE_ID cause an ICE, and it
turns out that in the few cases they are needed, these obligations are not
needed anyway because they are verified elsewhere.

Fixes rust-lang#46069.
@arielb1 arielb1 force-pushed the special-region-obligation branch from facb820 to ebd219a Compare November 25, 2017 20:58
@nikomatsakis
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Nov 28, 2017

📌 Commit ebd219a has been approved by nikomatsakis

@nikomatsakis nikomatsakis added beta-accepted Accepted for backporting to the compiler in the beta channel. beta-nominated Nominated for backporting to the compiler in the beta channel. and removed beta-nominated Nominated for backporting to the compiler in the beta channel. labels Nov 28, 2017
@kennytm kennytm 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 Nov 28, 2017
@bors
Copy link
Contributor

bors commented Nov 29, 2017

⌛ Testing commit ebd219a with merge 2212da6e98381f57e4f0b8306ba595f9fc999c8b...

@bors
Copy link
Contributor

bors commented Nov 29, 2017

💔 Test failed - status-travis

@kennytm
Copy link
Member

kennytm commented Nov 29, 2017

@bors retry — travis-ci/travis-ci#8821

@bors
Copy link
Contributor

bors commented Nov 30, 2017

⌛ Testing commit ebd219a with merge d6b010f...

bors added a commit that referenced this pull request Nov 30, 2017
avoid type-live-for-region obligations on dummy nodes

Type-live-for-region obligations on DUMMY_NODE_ID cause an ICE, and it
turns out that in the few cases they are needed, these obligations are not
needed anyway because they are verified elsewhere.

Fixes #46069.

Beta-nominating because this is a regression for our new beta.
r? @nikomatsakis
@bors
Copy link
Contributor

bors commented Nov 30, 2017

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

@bors bors merged commit ebd219a into rust-lang:master Nov 30, 2017
@WiSaGaN
Copy link
Contributor

WiSaGaN commented Jan 6, 2018

Hmm, was it supposed to be backported to 1.23.0? Stable 1.23.0 fails the test in this pull request.

@alexcrichton
Copy link
Member

Looks like we forgot to backport to 1.23.0 (sorry about that!) so removing the beta tags.

@alexcrichton alexcrichton removed beta-accepted Accepted for backporting to the compiler in the beta channel. beta-nominated Nominated for backporting to the compiler in the beta channel. labels Jan 10, 2018
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants