summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/issue-91594.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/traits/issue-91594.rs')
-rw-r--r--src/test/ui/traits/issue-91594.rs17
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() {}