// run-pass // Regression test for #55846, which once caused an ICE. use std::marker::PhantomData; struct Foo; struct Bar { a: PhantomData, } impl Fooifier for Foo { type Assoc = Foo; } trait Fooifier { type Assoc; } trait Barifier { fn barify(); } impl Barifier for Bar { fn barify() { println!("All correct!"); } } impl Bar<::Assoc> { fn this_shouldnt_crash() { ::Assoc>>::barify(); } } fn main() { Bar::::this_shouldnt_crash(); }