diff --git a/src/test/ui/suggestions/return-closures.rs b/src/test/ui/suggestions/return-closures.rs index eb593a0396522..86c7c1537421e 100644 --- a/src/test/ui/suggestions/return-closures.rs +++ b/src/test/ui/suggestions/return-closures.rs @@ -1,6 +1,13 @@ fn foo() { + //~^ HELP try adding a return type |x: &i32| 1i32 //~^ ERROR mismatched types } +fn bar(i: impl Sized) { + //~^ HELP a return type might be missing here + || i + //~^ ERROR mismatched types +} + fn main() {} diff --git a/src/test/ui/suggestions/return-closures.stderr b/src/test/ui/suggestions/return-closures.stderr index 6689f697088ff..e273793ea2c29 100644 --- a/src/test/ui/suggestions/return-closures.stderr +++ b/src/test/ui/suggestions/return-closures.stderr @@ -1,14 +1,27 @@ error[E0308]: mismatched types - --> $DIR/return-closures.rs:2:5 + --> $DIR/return-closures.rs:3:5 | LL | fn foo() { | - help: try adding a return type: `-> impl for<'r> Fn(&'r i32) -> i32` +LL | LL | |x: &i32| 1i32 | ^^^^^^^^^^^^^^ expected `()`, found closure | = note: expected unit type `()` - found closure `[closure@$DIR/return-closures.rs:2:5: 2:14]` + found closure `[closure@$DIR/return-closures.rs:3:5: 3:14]` -error: aborting due to previous error +error[E0308]: mismatched types + --> $DIR/return-closures.rs:9:5 + | +LL | fn bar(i: impl Sized) { + | - help: a return type might be missing here: `-> _` +LL | +LL | || i + | ^^^^ expected `()`, found closure + | + = note: expected unit type `()` + found closure `[closure@$DIR/return-closures.rs:9:5: 9:7]` + +error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.