summaryrefslogtreecommitdiffstats
path: root/tests/ui/associated-consts/assoc-const-eq-ambiguity.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/associated-consts/assoc-const-eq-ambiguity.stderr')
-rw-r--r--tests/ui/associated-consts/assoc-const-eq-ambiguity.stderr38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/ui/associated-consts/assoc-const-eq-ambiguity.stderr b/tests/ui/associated-consts/assoc-const-eq-ambiguity.stderr
new file mode 100644
index 000000000..ba3a87013
--- /dev/null
+++ b/tests/ui/associated-consts/assoc-const-eq-ambiguity.stderr
@@ -0,0 +1,38 @@
+error[E0222]: ambiguous associated constant `K` in bounds of `Trait0`
+ --> $DIR/assoc-const-eq-ambiguity.rs:9:25
+ |
+LL | trait Parent0<T> { const K: (); }
+ | -----------
+ | |
+ | ambiguous `K` from `Parent0<u32>`
+ | ambiguous `K` from `Parent0<i32>`
+LL |
+LL | fn take0(_: impl Trait0<K = { () }>) {}
+ | ^^^^^^^^^^ ambiguous associated constant `K`
+ |
+ = help: consider introducing a new type parameter `T` and adding `where` constraints:
+ where
+ T: Trait0,
+ T: Parent0<u32>::K = { () },
+ T: Parent0<i32>::K = { () }
+
+error[E0222]: ambiguous associated constant `C` in bounds of `Trait1`
+ --> $DIR/assoc-const-eq-ambiguity.rs:16:25
+ |
+LL | trait Parent1 { const C: i32; }
+ | ------------ ambiguous `C` from `Parent1`
+LL | trait Parent2 { const C: &'static str; }
+ | --------------------- ambiguous `C` from `Parent2`
+LL |
+LL | fn take1(_: impl Trait1<C = "?">) {}
+ | ^^^^^^^ ambiguous associated constant `C`
+ |
+ = help: consider introducing a new type parameter `T` and adding `where` constraints:
+ where
+ T: Trait1,
+ T: Parent2::C = "?",
+ T: Parent1::C = "?"
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0222`.