18 lines
336 B
Rust
18 lines
336 B
Rust
|
// #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() {}
|