diff --git a/clippy_lints/src/multiple_crate_versions.rs b/clippy_lints/src/multiple_crate_versions.rs index c1773cef7a8b..b356b3a0e0c8 100644 --- a/clippy_lints/src/multiple_crate_versions.rs +++ b/clippy_lints/src/multiple_crate_versions.rs @@ -51,7 +51,8 @@ impl LateLintPass<'_> for MultipleCrateVersions { if let Some(resolve) = &metadata.resolve; if let Some(local_id) = packages .iter() - .find_map(|p| if p.name == *local_name { Some(&p.id) } else { None }); + .find(|p| p.name == *local_name) + .map(|p| &p.id); then { for (name, group) in &packages.iter().group_by(|p| p.name.clone()) { let group: Vec<&Package> = group.collect(); diff --git a/clippy_lints/src/shadow.rs b/clippy_lints/src/shadow.rs index 225fe58906f7..1f74065eb866 100644 --- a/clippy_lints/src/shadow.rs +++ b/clippy_lints/src/shadow.rs @@ -203,9 +203,7 @@ fn check_pat<'tcx>( if let ExprKind::Struct(_, ref efields, _) = init_struct.kind { for field in pfields { let name = field.ident.name; - let efield = efields - .iter() - .find_map(|f| if f.ident.name == name { Some(&*f.expr) } else { None }); + let efield = efields.iter().find(|f| f.ident.name == name).map(|f| f.expr); check_pat(cx, &field.pat, efield, span, bindings); } } else { diff --git a/clippy_lints/src/suspicious_operation_groupings.rs b/clippy_lints/src/suspicious_operation_groupings.rs index cccd24ccf940..66f2c7b38f04 100644 --- a/clippy_lints/src/suspicious_operation_groupings.rs +++ b/clippy_lints/src/suspicious_operation_groupings.rs @@ -688,6 +688,5 @@ fn skip_index(iter: Iter, index: usize) -> impl Iterator where Iter: Iterator, { - iter.enumerate() - .filter_map(move |(i, a)| if i == index { None } else { Some(a) }) + iter.enumerate().filter(move |&(i, _)| i != index).map(|(_, a)| a) }