diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2021-04-08 15:27:43 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2021-04-08 15:27:43 -0700 |
| commit | 5af3dec59f3dba741ce17cb3fcea6ddfaf058f6c (patch) | |
| tree | 46ced8d82ea713a81dba03747ec3207e2750192a /src/test/ui/compare-method | |
| parent | 147649d4b91b43c77f3f46c04b6daaa37f4e0955 (diff) | |
| download | rust-5af3dec59f3dba741ce17cb3fcea6ddfaf058f6c.tar.gz rust-5af3dec59f3dba741ce17cb3fcea6ddfaf058f6c.zip | |
Suggest return type
Diffstat (limited to 'src/test/ui/compare-method')
| -rw-r--r-- | src/test/ui/compare-method/bad-self-type.rs | 3 | ||||
| -rw-r--r-- | src/test/ui/compare-method/bad-self-type.stderr | 19 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/test/ui/compare-method/bad-self-type.rs b/src/test/ui/compare-method/bad-self-type.rs index 9eb978664bf..f42a9e49abd 100644 --- a/src/test/ui/compare-method/bad-self-type.rs +++ b/src/test/ui/compare-method/bad-self-type.rs @@ -15,9 +15,12 @@ impl Future for MyFuture { trait T { fn foo(self); + fn bar(self) -> Option<()>; } impl T for MyFuture { fn foo(self: Box<Self>) {} //~^ ERROR method `foo` has an incompatible type for trait + fn bar(self) {} + //~^ ERROR method `bar` has an incompatible type for trait } diff --git a/src/test/ui/compare-method/bad-self-type.stderr b/src/test/ui/compare-method/bad-self-type.stderr index 4d85ff86df5..74e7c562aa7 100644 --- a/src/test/ui/compare-method/bad-self-type.stderr +++ b/src/test/ui/compare-method/bad-self-type.stderr @@ -11,7 +11,7 @@ LL | fn poll(self, _: &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:21:18 + --> $DIR/bad-self-type.rs:22:18 | LL | fn foo(self); | ---- type in trait @@ -25,6 +25,21 @@ LL | fn foo(self: Box<Self>) {} = note: expected fn pointer `fn(MyFuture)` found fn pointer `fn(Box<MyFuture>)` -error: aborting due to 2 previous errors +error[E0053]: method `bar` has an incompatible type for trait + --> $DIR/bad-self-type.rs:24:18 + | +LL | fn bar(self) -> Option<()>; + | ---------- type in trait +... +LL | fn bar(self) {} + | ^ + | | + | expected enum `Option`, found `()` + | help: change the output type to match the trait: `-> Option<()>` + | + = note: expected fn pointer `fn(MyFuture) -> Option<()>` + found fn pointer `fn(MyFuture)` + +error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0053`. |
