summaryrefslogtreecommitdiffstats
path: root/src/test/ui/compare-method/bad-self-type.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/compare-method/bad-self-type.stderr')
-rw-r--r--src/test/ui/compare-method/bad-self-type.stderr50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/ui/compare-method/bad-self-type.stderr b/src/test/ui/compare-method/bad-self-type.stderr
new file mode 100644
index 000000000..90e907157
--- /dev/null
+++ b/src/test/ui/compare-method/bad-self-type.stderr
@@ -0,0 +1,50 @@
+error[E0053]: method `poll` has an incompatible type for trait
+ --> $DIR/bad-self-type.rs:10:13
+ |
+LL | fn poll(self, _: &mut Context<'_>) -> Poll<()> {
+ | ^^^^
+ | |
+ | expected struct `Pin`, found struct `MyFuture`
+ | help: change the self-receiver type to match the trait: `self: Pin<&mut MyFuture>`
+ |
+ = note: expected fn pointer `fn(Pin<&mut MyFuture>, &mut Context<'_>) -> Poll<_>`
+ found fn pointer `fn(MyFuture, &mut Context<'_>) -> Poll<_>`
+
+error[E0053]: method `foo` has an incompatible type for trait
+ --> $DIR/bad-self-type.rs:22:18
+ |
+LL | fn foo(self: Box<Self>) {}
+ | ------^^^^^^^^^
+ | | |
+ | | expected struct `MyFuture`, found struct `Box`
+ | help: change the self-receiver type to match the trait: `self`
+ |
+note: type in trait
+ --> $DIR/bad-self-type.rs:17:12
+ |
+LL | fn foo(self);
+ | ^^^^
+ = note: expected fn pointer `fn(MyFuture)`
+ found fn pointer `fn(Box<MyFuture>)`
+
+error[E0053]: method `bar` has an incompatible type for trait
+ --> $DIR/bad-self-type.rs:24:18
+ |
+LL | fn bar(self) {}
+ | ^ expected enum `Option`, found `()`
+ |
+note: type in trait
+ --> $DIR/bad-self-type.rs:18:21
+ |
+LL | fn bar(self) -> Option<()>;
+ | ^^^^^^^^^^
+ = note: expected fn pointer `fn(MyFuture) -> Option<()>`
+ found fn pointer `fn(MyFuture)`
+help: change the output type to match the trait
+ |
+LL | fn bar(self) -> Option<()> {}
+ | +++++++++++++
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0053`.