summaryrefslogtreecommitdiffstats
path: root/tests/ui/generic-associated-types/issue-88595.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/generic-associated-types/issue-88595.stderr')
-rw-r--r--tests/ui/generic-associated-types/issue-88595.stderr34
1 files changed, 26 insertions, 8 deletions
diff --git a/tests/ui/generic-associated-types/issue-88595.stderr b/tests/ui/generic-associated-types/issue-88595.stderr
index 79d3479af..d6caed854 100644
--- a/tests/ui/generic-associated-types/issue-88595.stderr
+++ b/tests/ui/generic-associated-types/issue-88595.stderr
@@ -1,16 +1,34 @@
error: non-defining opaque type use in defining scope
- --> $DIR/issue-88595.rs:21:35
+ --> $DIR/issue-88595.rs:21:5
|
LL | fn a(&'a self) -> Self::B<'a> {}
- | ^^
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ generic argument `'a` used twice
|
-note: lifetime used multiple times
- --> $DIR/issue-88595.rs:18:6
+note: for this opaque type
+ --> $DIR/issue-88595.rs:19:18
|
-LL | impl<'a> A<'a> for C {
- | ^^
LL | type B<'b> = impl Clone;
- | ^^
+ | ^^^^^^^^^^
-error: aborting due to previous error
+error[E0308]: mismatched types
+ --> $DIR/issue-88595.rs:21:23
+ |
+LL | type B<'b> = impl Clone;
+ | ---------- the expected opaque type
+LL |
+LL | fn a(&'a self) -> Self::B<'a> {}
+ | - ^^^^^^^^^^^ expected opaque type, found `()`
+ | |
+ | implicitly returns `()` as its body has no tail or `return` expression
+ |
+ = note: expected opaque type `<C as A<'a>>::B<'a>`
+ found unit type `()`
+note: this item must have the opaque type in its signature in order to be able to register hidden types
+ --> $DIR/issue-88595.rs:21:5
+ |
+LL | fn a(&'a self) -> Self::B<'a> {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+For more information about this error, try `rustc --explain E0308`.