]> git.lizzy.rs Git - rust.git/commitdiff
Uncomment test for #8734
authorAlex Macleod <alex@macleod.io>
Thu, 30 Jun 2022 10:13:54 +0000 (10:13 +0000)
committerAlex Macleod <alex@macleod.io>
Thu, 30 Jun 2022 10:13:54 +0000 (10:13 +0000)
tests/ui/map_flatten_fixable.fixed
tests/ui/map_flatten_fixable.rs
tests/ui/map_flatten_fixable.stderr

index e9b41354c58fa50599e93f2b39a5dc015f61646d..9097a6b996734090e0a0b827eae585ac0415a8c9 100644 (file)
@@ -34,21 +34,20 @@ fn main() {
 }
 
 fn issue8734() {
-    //     let _ = [0u8, 1, 2, 3]
-    //         .into_iter()
-    //         .map(|n| match n {
-    //             1 => [n
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)],
-    //             n => [n],
-    //         })
-    //         .flatten();
+    let _ = [0u8, 1, 2, 3]
+        .into_iter()
+        .flat_map(|n| match n {
+            1 => [n
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)],
+            n => [n],
+        });
 }
 
 #[allow(clippy::bind_instead_of_map)] // map + flatten will be suggested to `and_then`, but afterwards `map` is suggested again
index 4345c6eee746120afc03cb46fc3e6f79a2d94f40..3916263404acdb8e307c488fa7e0636be02c83f3 100644 (file)
@@ -34,21 +34,21 @@ fn option_id(x: i8) -> Option<i8> {
 }
 
 fn issue8734() {
-    //     let _ = [0u8, 1, 2, 3]
-    //         .into_iter()
-    //         .map(|n| match n {
-    //             1 => [n
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)
-    //                 .saturating_add(1)],
-    //             n => [n],
-    //         })
-    //         .flatten();
+    let _ = [0u8, 1, 2, 3]
+        .into_iter()
+        .map(|n| match n {
+            1 => [n
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)
+                .saturating_add(1)],
+            n => [n],
+        })
+        .flatten();
 }
 
 #[allow(clippy::bind_instead_of_map)] // map + flatten will be suggested to `and_then`, but afterwards `map` is suggested again
index f3b82ad08d0fc3c61c31cb53e46c035c06789440..afaf6af66b22491fc81de772f128183c82f0a91f 100644 (file)
@@ -42,6 +42,35 @@ error: called `map(..).flatten()` on `Result`
 LL |     let _: Result<_, &str> = (Ok(Ok(1))).map(|x| x).flatten();
    |                                          ^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|x| x)`
 
+error: called `map(..).flatten()` on `Iterator`
+  --> $DIR/map_flatten_fixable.rs:39:10
+   |
+LL |           .map(|n| match n {
+   |  __________^
+LL | |             1 => [n
+LL | |                 .saturating_add(1)
+LL | |                 .saturating_add(1)
+...  |
+LL | |         })
+LL | |         .flatten();
+   | |__________________^
+   |
+help: try replacing `map` with `flat_map` and remove the `.flatten()`
+   |
+LL ~         .flat_map(|n| match n {
+LL +             1 => [n
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)
+LL +                 .saturating_add(1)],
+LL +             n => [n],
+LL ~         });
+   |
+
 error: called `map(..).flatten()` on `Option`
   --> $DIR/map_flatten_fixable.rs:59:10
    |
@@ -66,5 +95,5 @@ LL +  // whitespace beforehand is important as well
 LL ~         });
    |
 
-error: aborting due to 8 previous errors
+error: aborting due to 9 previous errors