summaryrefslogtreecommitdiffstats
path: root/tests/ui/type-alias-impl-trait/higher_kinded_params3.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/type-alias-impl-trait/higher_kinded_params3.stderr')
-rw-r--r--tests/ui/type-alias-impl-trait/higher_kinded_params3.stderr28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/ui/type-alias-impl-trait/higher_kinded_params3.stderr b/tests/ui/type-alias-impl-trait/higher_kinded_params3.stderr
new file mode 100644
index 000000000..14372d8f3
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/higher_kinded_params3.stderr
@@ -0,0 +1,28 @@
+error: item constrains opaque type that is not in its signature
+ --> $DIR/higher_kinded_params3.rs:26:13
+ |
+LL | f = g;
+ | ^
+ |
+ = note: this item must mention the opaque type in its signature in order to be able to register hidden types
+note: this item must mention the opaque type in its signature in order to be able to register hidden types
+ --> $DIR/higher_kinded_params3.rs:25:8
+ |
+LL | fn successors(&self, mut f: for<'x> fn(&'x ()) -> <&'x A as B>::C) -> Successors<'_> {
+ | ^^^^^^^^^^
+
+error[E0308]: mismatched types
+ --> $DIR/higher_kinded_params3.rs:26:9
+ |
+LL | type Tait<'a> = impl std::fmt::Debug + 'a;
+ | ------------------------- the expected opaque type
+...
+LL | f = g;
+ | ^^^^^ one type is more general than the other
+ |
+ = note: expected fn pointer `for<'x> fn(&'x ()) -> Tait<'x>`
+ found fn pointer `for<'a> fn(&'a ()) -> &'a ()`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0308`.