| #![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() {} |