Skip to content

Commit 72a8fc2

Browse files
committed
Add test to map_flatten with an Option
1 parent c20afbd commit 72a8fc2

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

tests/ui/map_flatten.fixed

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55

66
fn main() {
77
let _: Vec<_> = vec![5_i8; 6].into_iter().flat_map(|x| 0..x).collect();
8+
let _: Option<_> = (Some(Some(1))).and_then(|x| x);
89
}

tests/ui/map_flatten.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55

66
fn main() {
77
let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().collect();
8+
let _: Option<_> = (Some(Some(1))).map(|x| x).flatten();
89
}

tests/ui/map_flatten.stderr

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,11 @@ LL | let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().colle
66
|
77
= note: `-D clippy::map-flatten` implied by `-D warnings`
88

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

0 commit comments

Comments
 (0)