summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs')
-rw-r--r--src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs b/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs
new file mode 100644
index 000000000..511e41562
--- /dev/null
+++ b/src/test/ui/traits/trait-upcasting/cyclic-trait-resolution.rs
@@ -0,0 +1,13 @@
+trait A: B + A {}
+//~^ ERROR cycle detected when computing the super predicates of `A` [E0391]
+
+trait B {}
+
+impl A for () {}
+
+impl B for () {}
+
+fn main() {
+ let a: Box<dyn A> = Box::new(());
+ let _b: Box<dyn B> = a;
+}