Skip to content

Commit 4198013

Browse files
committed
Auto merge of #9071 - Alexendoo:8734, r=dswij
Uncomment test for #8734 I believe the issue was an interaction between rustfix and `span_lint_and_sugg_for_edges`, so this would've been fixed by rust-lang/rust#98261 (Thanks, `@WaffleLapkin!)` Closes #8734 changelog: none
2 parents 6206d2a + 6c61f71 commit 4198013

File tree

3 files changed

+59
-31
lines changed

3 files changed

+59
-31
lines changed

tests/ui/map_flatten_fixable.fixed

+14-15
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,20 @@ fn main() {
3434
}
3535

3636
fn issue8734() {
37-
// let _ = [0u8, 1, 2, 3]
38-
// .into_iter()
39-
// .map(|n| match n {
40-
// 1 => [n
41-
// .saturating_add(1)
42-
// .saturating_add(1)
43-
// .saturating_add(1)
44-
// .saturating_add(1)
45-
// .saturating_add(1)
46-
// .saturating_add(1)
47-
// .saturating_add(1)
48-
// .saturating_add(1)],
49-
// n => [n],
50-
// })
51-
// .flatten();
37+
let _ = [0u8, 1, 2, 3]
38+
.into_iter()
39+
.flat_map(|n| match n {
40+
1 => [n
41+
.saturating_add(1)
42+
.saturating_add(1)
43+
.saturating_add(1)
44+
.saturating_add(1)
45+
.saturating_add(1)
46+
.saturating_add(1)
47+
.saturating_add(1)
48+
.saturating_add(1)],
49+
n => [n],
50+
});
5251
}
5352

5453
#[allow(clippy::bind_instead_of_map)] // map + flatten will be suggested to `and_then`, but afterwards `map` is suggested again

tests/ui/map_flatten_fixable.rs

+15-15
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,21 @@ fn main() {
3434
}
3535

3636
fn issue8734() {
37-
// let _ = [0u8, 1, 2, 3]
38-
// .into_iter()
39-
// .map(|n| match n {
40-
// 1 => [n
41-
// .saturating_add(1)
42-
// .saturating_add(1)
43-
// .saturating_add(1)
44-
// .saturating_add(1)
45-
// .saturating_add(1)
46-
// .saturating_add(1)
47-
// .saturating_add(1)
48-
// .saturating_add(1)],
49-
// n => [n],
50-
// })
51-
// .flatten();
37+
let _ = [0u8, 1, 2, 3]
38+
.into_iter()
39+
.map(|n| match n {
40+
1 => [n
41+
.saturating_add(1)
42+
.saturating_add(1)
43+
.saturating_add(1)
44+
.saturating_add(1)
45+
.saturating_add(1)
46+
.saturating_add(1)
47+
.saturating_add(1)
48+
.saturating_add(1)],
49+
n => [n],
50+
})
51+
.flatten();
5252
}
5353

5454
#[allow(clippy::bind_instead_of_map)] // map + flatten will be suggested to `and_then`, but afterwards `map` is suggested again

tests/ui/map_flatten_fixable.stderr

+30-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,35 @@ error: called `map(..).flatten()` on `Result`
4242
LL | let _: Result<_, &str> = (Ok(Ok(1))).map(|x| x).flatten();
4343
| ^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|x| x)`
4444

45+
error: called `map(..).flatten()` on `Iterator`
46+
--> $DIR/map_flatten_fixable.rs:39:10
47+
|
48+
LL | .map(|n| match n {
49+
| __________^
50+
LL | | 1 => [n
51+
LL | | .saturating_add(1)
52+
LL | | .saturating_add(1)
53+
... |
54+
LL | | })
55+
LL | | .flatten();
56+
| |__________________^
57+
|
58+
help: try replacing `map` with `flat_map` and remove the `.flatten()`
59+
|
60+
LL ~ .flat_map(|n| match n {
61+
LL + 1 => [n
62+
LL + .saturating_add(1)
63+
LL + .saturating_add(1)
64+
LL + .saturating_add(1)
65+
LL + .saturating_add(1)
66+
LL + .saturating_add(1)
67+
LL + .saturating_add(1)
68+
LL + .saturating_add(1)
69+
LL + .saturating_add(1)],
70+
LL + n => [n],
71+
LL ~ });
72+
|
73+
4574
error: called `map(..).flatten()` on `Option`
4675
--> $DIR/map_flatten_fixable.rs:59:10
4776
|
@@ -66,5 +95,5 @@ LL + // whitespace beforehand is important as well
6695
LL ~ });
6796
|
6897

69-
error: aborting due to 8 previous errors
98+
error: aborting due to 9 previous errors
7099

0 commit comments

Comments
 (0)