error[E0308]: mismatched types --> $DIR/return-closures.rs:3:5 | LL | fn foo() { | - help: try adding a return type: `-> impl for<'a> Fn(&'a i32) -> i32` LL | LL | |x: &i32| 1i32 | ^^^^^^^^^^^^^^ expected `()`, found closure | = note: expected unit type `()` found closure `{closure@$DIR/return-closures.rs:3:5: 3:14}` 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`.