Closed
Description
STR
trait Foo { type Assoc: PartialEq<Box<Self>>; }
impl Foo for u32 { type Assoc = Box<u32>; }
fn foo<T: Foo+?Sized>(u: Box<T>, v: T::Assoc) -> bool {
&v == &u
}
fn main() {
let bar: Box<Foo<Assoc=Box<u32>>> = Box::new(4);
foo(bar, Box::new(5));
}
Result
<anon>:5:5: 5:13 error: internal compiler error: Encountered errors `[FulfillmentError(Obligation(predicate=Binder(TraitPredicate(<Box<u32> as core::cmp::PartialEq<Box<Foo<Assoc=Box<u32>> + 'static>>>)),depth=1),Unimplemented)]` fulfilling during trans
I guess this should be banned.
Metadata
Metadata
Assignees
Labels
Area: Trait systemArea: Type systemCategory: This is a bug.Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessHigh priorityRelevant to the compiler team, which will review and decide on the PR/issue.