about summary refs log tree commit diff
diff options
context:
space:
mode:
authormaekawatoshiki <maekawatoshiki1017@gmail.com>2024-02-13 11:07:06 +0900
committermaekawatoshiki <maekawatoshiki1017@gmail.com>2024-03-14 12:36:55 +0900
commit560a5a8cd1f93c0fd258e3c984ce957c80d9de8f (patch)
tree61f8159f83e15f7032915c6c69656f6930ca55c4
parent20e4c7452135275ad69f412d59848239f8006931 (diff)
downloadrust-560a5a8cd1f93c0fd258e3c984ce957c80d9de8f.tar.gz
rust-560a5a8cd1f93c0fd258e3c984ce957c80d9de8f.zip
Fix logic
-rw-r--r--clippy_lints/src/methods/map_clone.rs6
1 files changed, 3 insertions, 3 deletions
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()));
         }