| #![warn(clippy::map_flatten)] |
| #![allow(clippy::unnecessary_filter_map)] |
| |
| // issue #8506, multi-line |
| #[rustfmt::skip] |
| fn long_span() { |
| let _: Option<i32> = Some(1) |
| .and_then(|x| { |
| //~^ map_flatten |
| |
| |
| if x <= 5 { |
| Some(x) |
| } else { |
| None |
| } |
| }); |
| |
| let _: Result<i32, i32> = Ok(1) |
| .and_then(|x| { |
| //~^ map_flatten |
| |
| if x == 1 { |
| Ok(x) |
| } else { |
| Err(0) |
| } |
| }); |
| |
| let result: Result<i32, i32> = Ok(2); |
| fn do_something() { } |
| let _: Result<i32, i32> = result |
| .and_then(|res| { |
| //~^ map_flatten |
| |
| if res > 0 { |
| do_something(); |
| Ok(res) |
| } else { |
| Err(0) |
| } |
| }); |
| |
| let _: Vec<_> = vec![5_i8; 6] |
| .into_iter() |
| .filter_map(|some_value| { |
| //~^ map_flatten |
| |
| if some_value > 3 { |
| Some(some_value) |
| } else { |
| None |
| } |
| }) |
| .collect(); |
| } |
| |
| #[allow(clippy::useless_vec)] |
| fn no_suggestion_if_comments_present() { |
| let vec = vec![vec![1, 2, 3]]; |
| let _ = vec |
| .iter() |
| // a lovely comment explaining the code in very detail |
| .flat_map(|x| x.iter()); |
| } |
| |
| fn main() { |
| long_span(); |
| } |