summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/alias/ambiguous.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/traits/alias/ambiguous.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/traits/alias/ambiguous.rs b/src/test/ui/traits/alias/ambiguous.rs
new file mode 100644
index 000000000..28409e0c6
--- /dev/null
+++ b/src/test/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
+}