Skip to content

Commit

Permalink
Add test to map_flatten with an Option
Browse files Browse the repository at this point in the history
  • Loading branch information
marcin-serwin committed Apr 16, 2020
1 parent c20afbd commit 72a8fc2
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 1 deletion.
1 change: 1 addition & 0 deletions tests/ui/map_flatten.fixed
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@

fn main() {
let _: Vec<_> = vec![5_i8; 6].into_iter().flat_map(|x| 0..x).collect();
let _: Option<_> = (Some(Some(1))).and_then(|x| x);
}
1 change: 1 addition & 0 deletions tests/ui/map_flatten.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@

fn main() {
let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().collect();
let _: Option<_> = (Some(Some(1))).map(|x| x).flatten();
}
8 changes: 7 additions & 1 deletion tests/ui/map_flatten.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,11 @@ LL | let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().colle
|
= note: `-D clippy::map-flatten` implied by `-D warnings`

error: aborting due to previous error
error: called `map(..).flatten()` on an `Option`. This is more succinctly expressed by calling `.and_then(..)`
--> $DIR/map_flatten.rs:8:24
|
LL | let _: Option<_> = (Some(Some(1))).map(|x| x).flatten();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try using `and_then` instead: `(Some(Some(1))).and_then(|x| x)`

error: aborting due to 2 previous errors

0 comments on commit 72a8fc2

Please sign in to comment.