Skip to content

3 line ICE on stable and nightly (Unexpected type in full type resolver) #38404

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

Closed
tupshin opened this issue Dec 16, 2016 · 3 comments · Fixed by #38603
Closed

3 line ICE on stable and nightly (Unexpected type in full type resolver) #38404

tupshin opened this issue Dec 16, 2016 · 3 comments · Fixed by #38603
Assignees
Labels
A-trait-system Area: Trait system P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@tupshin
Copy link

tupshin commented Dec 16, 2016

the following generates a compiler error on all current versions:

trait A<T>: std::ops::Add +Sized  {}
trait B<T>: A<T> {}
trait C<T>: A<B<T, Output = usize>> {}

RUST_BACKTRACE hangs for me, but emits:
error: internal compiler error: ../src/librustc/infer/resolve.rs:132: Unexpected type in full type resolver: FreshTy(0)
https://is.gd/lkcWgT

This is greatly cut down from a real world example, and a blocking issue for me

@est31
Copy link
Member

est31 commented Dec 16, 2016

This is a regression of the 1.4.0 release (over 1.3.0) of rust.

@nikomatsakis nikomatsakis added A-trait-system Area: Trait system I-nominated regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 22, 2016
@nikomatsakis
Copy link
Contributor

triage: P-medium

Pretty old regression, barely qualifies. =) However, @arielb1 says he has a fix.

@rust-highfive rust-highfive added P-medium Medium priority and removed I-nominated labels Dec 22, 2016
@est31
Copy link
Member

est31 commented Dec 22, 2016

Oh sorry, disregary my comment above, the issue is reproducible on 1.3.0 as well as on stable 1.0.0. Its not a regression, at least not one from a stable rust release.

@bluss bluss removed the regression-from-stable-to-stable Performance or correctness regression from one stable version to another. label Dec 27, 2016
arielb1 pushed a commit to arielb1/rust that referenced this issue Jan 10, 2017
This should be the last time I fix this function.

Fixes rust-lang#38404.
bors added a commit that referenced this issue Jan 20, 2017
traits with self-containing supertraits are not object safe

This should be the last time I fix this function.

Fixes #38404.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-trait-system Area: Trait system P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants