diff options
Diffstat (limited to 'src/test/ui/traits/issue-91594.rs')
-rw-r--r-- | src/test/ui/traits/issue-91594.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/traits/issue-91594.rs b/src/test/ui/traits/issue-91594.rs new file mode 100644 index 000000000..930f7f0c6 --- /dev/null +++ b/src/test/ui/traits/issue-91594.rs @@ -0,0 +1,17 @@ +// #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() {} |