summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-item/associated-item-duplicate-names-3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/associated-item/associated-item-duplicate-names-3.rs')
-rw-r--r--src/test/ui/associated-item/associated-item-duplicate-names-3.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/associated-item/associated-item-duplicate-names-3.rs b/src/test/ui/associated-item/associated-item-duplicate-names-3.rs
new file mode 100644
index 000000000..6aa1b483e
--- /dev/null
+++ b/src/test/ui/associated-item/associated-item-duplicate-names-3.rs
@@ -0,0 +1,19 @@
+//
+// Before the introduction of the "duplicate associated type" error, the
+// program below used to result in the "ambiguous associated type" error E0223,
+// which is unexpected.
+
+trait Foo {
+ type Bar;
+}
+
+struct Baz;
+
+impl Foo for Baz {
+ type Bar = i16;
+ type Bar = u16; //~ ERROR duplicate definitions
+}
+
+fn main() {
+ let x: Baz::Bar = 5;
+}