summaryrefslogtreecommitdiffstats
path: root/src/test/ui/type-alias-impl-trait/self-referential.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/type-alias-impl-trait/self-referential.stderr')
-rw-r--r--src/test/ui/type-alias-impl-trait/self-referential.stderr66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/self-referential.stderr b/src/test/ui/type-alias-impl-trait/self-referential.stderr
new file mode 100644
index 000000000..97d510f68
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/self-referential.stderr
@@ -0,0 +1,66 @@
+error[E0277]: can't compare `&i32` with `Bar<'b, 'a>`
+ --> $DIR/self-referential.rs:5:31
+ |
+LL | fn bar<'a, 'b>(i: &'a i32) -> Bar<'a, 'b> {
+ | ^^^^^^^^^^^ no implementation for `&i32 == Bar<'b, 'a>`
+LL |
+LL | i
+ | - return type was inferred to be `&i32` here
+ |
+ = help: the trait `PartialEq<Bar<'b, 'a>>` is not implemented for `&i32`
+ = help: the following other types implement trait `PartialEq<Rhs>`:
+ f32
+ f64
+ i128
+ i16
+ i32
+ i64
+ i8
+ isize
+ and 6 others
+
+error[E0277]: can't compare `&i32` with `(i32, &i32)`
+ --> $DIR/self-referential.rs:12:31
+ |
+LL | fn foo<'a, 'b>(i: &'a i32) -> Foo<'a, 'b> {
+ | ^^^^^^^^^^^ no implementation for `&i32 == (i32, &i32)`
+LL |
+LL | (42, i)
+ | ------- return type was inferred to be `(i32, &i32)` here
+ |
+ = help: the trait `PartialEq<(i32, &i32)>` is not implemented for `&i32`
+ = help: the following other types implement trait `PartialEq<Rhs>`:
+ f32
+ f64
+ i128
+ i16
+ i32
+ i64
+ i8
+ isize
+ and 6 others
+
+error[E0277]: can't compare `&i32` with `(i32, Moo<'b, 'a>::{opaque#0})`
+ --> $DIR/self-referential.rs:19:31
+ |
+LL | fn moo<'a, 'b>(i: &'a i32) -> Moo<'a, 'b> {
+ | ^^^^^^^^^^^ no implementation for `&i32 == (i32, Moo<'b, 'a>::{opaque#0})`
+LL |
+LL | (42, i)
+ | ------- return type was inferred to be `(i32, &i32)` here
+ |
+ = help: the trait `PartialEq<(i32, Moo<'b, 'a>::{opaque#0})>` is not implemented for `&i32`
+ = help: the following other types implement trait `PartialEq<Rhs>`:
+ f32
+ f64
+ i128
+ i16
+ i32
+ i64
+ i8
+ isize
+ and 6 others
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0277`.