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 | |
| parent | 147649d4b91b43c77f3f46c04b6daaa37f4e0955 (diff) | |
| download | rust-5af3dec59f3dba741ce17cb3fcea6ddfaf058f6c.tar.gz rust-5af3dec59f3dba741ce17cb3fcea6ddfaf058f6c.zip | |
Suggest return type
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/associated-types/defaults-specialization.stderr | 10 | ||||
| -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 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-21332.stderr | 5 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-35869.stderr | 5 | ||||
| -rw-r--r-- | src/test/ui/wrong-mul-method-signature.stderr | 5 |
6 files changed, 40 insertions, 7 deletions
diff --git a/src/test/ui/associated-types/defaults-specialization.stderr b/src/test/ui/associated-types/defaults-specialization.stderr index 920f8322813..3c7dc1fc3c9 100644 --- a/src/test/ui/associated-types/defaults-specialization.stderr +++ b/src/test/ui/associated-types/defaults-specialization.stderr @@ -15,7 +15,10 @@ LL | fn make() -> Self::Ty { | -------- type in trait ... LL | fn make() -> u8 { 0 } - | ^^ expected associated type, found `u8` + | ^^ + | | + | expected associated type, found `u8` + | help: change the output type to match the trait: `<A<T> as Tr>::Ty` | = note: expected fn pointer `fn() -> <A<T> as Tr>::Ty` found fn pointer `fn() -> u8` @@ -30,7 +33,10 @@ LL | default type Ty = bool; | ----------------------- expected this associated type LL | LL | fn make() -> bool { true } - | ^^^^ expected associated type, found `bool` + | ^^^^ + | | + | expected associated type, found `bool` + | help: change the output type to match the trait: `<B<T> as Tr>::Ty` | = note: expected fn pointer `fn() -> <B<T> as Tr>::Ty` found fn pointer `fn() -> bool` 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`. diff --git a/src/test/ui/issues/issue-21332.stderr b/src/test/ui/issues/issue-21332.stderr index fd132687d71..d92966da17c 100644 --- a/src/test/ui/issues/issue-21332.stderr +++ b/src/test/ui/issues/issue-21332.stderr @@ -2,7 +2,10 @@ error[E0053]: method `next` has an incompatible type for trait --> $DIR/issue-21332.rs:5:27 | LL | fn next(&mut self) -> Result<i32, i32> { Ok(7) } - | ^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `Result` + | ^^^^^^^^^^^^^^^^ + | | + | expected enum `Option`, found enum `Result` + | help: change the output type to match the trait: `Option<i32>` | = note: expected fn pointer `fn(&mut S) -> Option<i32>` found fn pointer `fn(&mut S) -> Result<i32, i32>` diff --git a/src/test/ui/issues/issue-35869.stderr b/src/test/ui/issues/issue-35869.stderr index c104aa30cb0..71b2a9df095 100644 --- a/src/test/ui/issues/issue-35869.stderr +++ b/src/test/ui/issues/issue-35869.stderr @@ -50,7 +50,10 @@ LL | fn qux() -> u8; | -- type in trait ... LL | fn qux() -> u16 { 5u16 } - | ^^^ expected `u8`, found `u16` + | ^^^ + | | + | expected `u8`, found `u16` + | help: change the output type to match the trait: `u8` | = note: expected fn pointer `fn() -> u8` found fn pointer `fn() -> u16` diff --git a/src/test/ui/wrong-mul-method-signature.stderr b/src/test/ui/wrong-mul-method-signature.stderr index 9be07cb1a74..9f8896f01ee 100644 --- a/src/test/ui/wrong-mul-method-signature.stderr +++ b/src/test/ui/wrong-mul-method-signature.stderr @@ -26,7 +26,10 @@ error[E0053]: method `mul` has an incompatible type for trait --> $DIR/wrong-mul-method-signature.rs:52:29 | LL | fn mul(self, s: f64) -> f64 { - | ^^^ expected `i32`, found `f64` + | ^^^ + | | + | expected `i32`, found `f64` + | help: change the output type to match the trait: `i32` | = note: expected fn pointer `fn(Vec3, _) -> i32` found fn pointer `fn(Vec3, _) -> f64` |
