// #91594: This used to ICE. | |
trait Component<M> { | |
type Interface; | |
} | |
trait HasComponent<I> {} | |
struct Foo; | |
impl HasComponent<<Foo as Component<Foo>>::Interface> for Foo {} | |
//~^ ERROR the trait bound `Foo: HasComponent<()>` is not satisfied | |
impl<M: HasComponent<()>> Component<M> for Foo { | |
type Interface = u8; | |
} | |
fn main() {} |