diff --git a/clippy_lints/src/methods/map_clone.rs b/clippy_lints/src/methods/map_clone.rs index 0378c8171c0..8d2a2410ed4 100644 --- a/clippy_lints/src/methods/map_clone.rs +++ b/clippy_lints/src/methods/map_clone.rs @@ -121,10 +121,10 @@ fn handle_path( if let ty::Adt(_, args) = cx.typeck_results().expr_ty(recv).kind() && let args = args.as_slice() && let Some(ty) = args.iter().find_map(|generic_arg| generic_arg.as_type()) - && ty.is_ref() && let ty::Ref(_, ty, Mutability::Not) = ty.kind() - && let ty::FnDef(_, lst) = cx.typeck_results().expr_ty(arg).kind() - && lst.iter().all(|l| l.as_type() == Some(*ty)) + && let ty::Adt(_, args) = cx.typeck_results().expr_ty(e).kind() + && let args = args.as_slice() + && args.iter().find_map(|generic_arg| generic_arg.as_type()) == Some(*ty) { lint_path(cx, e.span, recv.span, is_copy(cx, ty.peel_refs())); }