error: called `map(..).flatten()` on `Iterator`
  --> $DIR/map_flatten_fixable.rs:18:47
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().map(option_id).flatten().collect();
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `-D clippy::map-flatten` implied by `-D warnings`
help: try replacing `map` with `filter_map`, and remove the `.flatten()`
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().filter_map(option_id).collect();
   |                                               ~~~~~~~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Iterator`
  --> $DIR/map_flatten_fixable.rs:19:47
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().map(option_id_ref).flatten().collect();
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: try replacing `map` with `filter_map`, and remove the `.flatten()`
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().filter_map(option_id_ref).collect();
   |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Iterator`
  --> $DIR/map_flatten_fixable.rs:20:47
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().map(option_id_closure).flatten().collect();
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: try replacing `map` with `filter_map`, and remove the `.flatten()`
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().filter_map(option_id_closure).collect();
   |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Iterator`
  --> $DIR/map_flatten_fixable.rs:21:47
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| x.checked_add(1)).flatten().collect();
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: try replacing `map` with `filter_map`, and remove the `.flatten()`
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().filter_map(|x| x.checked_add(1)).collect();
   |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Iterator`
  --> $DIR/map_flatten_fixable.rs:24:47
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().collect();
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^
   |
help: try replacing `map` with `flat_map`, and remove the `.flatten()`
   |
LL |     let _: Vec<_> = vec![5_i8; 6].into_iter().flat_map(|x| 0..x).collect();
   |                                               ~~~~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Option`
  --> $DIR/map_flatten_fixable.rs:27:40
   |
LL |     let _: Option<_> = (Some(Some(1))).map(|x| x).flatten();
   |                                        ^^^^^^^^^^^^^^^^^^^^
   |
help: try replacing `map` with `and_then`, and remove the `.flatten()`
   |
LL |     let _: Option<_> = (Some(Some(1))).and_then(|x| x);
   |                                        ~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Result`
  --> $DIR/map_flatten_fixable.rs:30:42
   |
LL |     let _: Result<_, &str> = (Ok(Ok(1))).map(|x| x).flatten();
   |                                          ^^^^^^^^^^^^^^^^^^^^
   |
help: try replacing `map` with `and_then`, and remove the `.flatten()`
   |
LL |     let _: Result<_, &str> = (Ok(Ok(1))).and_then(|x| x);
   |                                          ~~~~~~~~~~~~~~~

error: called `map(..).flatten()` on `Option`
  --> $DIR/map_flatten_fixable.rs:59:10
   |
LL |           .map(|_| {
   |  __________^
LL | | // we need some newlines
LL | | // so that the span is big enough
LL | | // for a splitted output of the diagnostic
...  |
LL | |         })
LL | |         .flatten();
   | |__________________^
   |
help: try replacing `map` with `and_then`
   |
LL ~         .and_then(|_| {
LL + // we need some newlines
LL + // so that the span is big enough
   |
help: and remove the `.flatten()`
   |
LL +             Some("")
LL +  // whitespace beforehand is important as well
LL ~         });
   |

error: aborting due to 8 previous errors