about summary refs log tree commit diff
path: root/tests/ui/traits/alias/ambiguous.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/traits/alias/ambiguous.rs')
-rw-r--r--tests/ui/traits/alias/ambiguous.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/traits/alias/ambiguous.rs b/tests/ui/traits/alias/ambiguous.rs
new file mode 100644
index 00000000000..28409e0c662
--- /dev/null
+++ b/tests/ui/traits/alias/ambiguous.rs
@@ -0,0 +1,24 @@
+#![feature(trait_alias)]
+
+mod inner {
+    pub trait A { fn foo(&self); }
+    pub trait B { fn foo(&self); }
+
+    impl A for u8 {
+        fn foo(&self) {}
+    }
+    impl B for u8 {
+        fn foo(&self) {}
+    }
+
+    pub trait C = A + B;
+}
+
+use inner::C;
+
+fn main() {
+    let t = 1u8;
+    t.foo(); //~ ERROR E0034
+
+    inner::A::foo(&t); // ok
+}