Closed
Description
Given the following code: play
fn f() {
vec!['a'].iter().map(|c| c)
}
The current output is:
error[E0308]: mismatched types
--> src/lib.rs:2:5
|
2 | vec!['a'].iter().map(|c| c)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `Map`
|
= note: expected unit type `()`
found struct `Map<std::slice::Iter<'_, char>, [closure@src/lib.rs:2:26: 2:31]>`
help: consider using a semicolon here
|
2 | vec!['a'].iter().map(|c| c);
| +
help: try adding a return type
|
1 | fn f() -> Map<std::slice::Iter<'_, char>, [closure@src/lib.rs:2:26: 2:31]> {
| +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ideally the output should look like:
Don't suggest adding -> Map<std::slice::Iter<'_, char>, [closure@src/lib.rs:2:26: 2:31]>
if that's not going to compile.