about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOli Scherer <github333195615777966@oli-obk.de>2025-03-27 11:48:06 +0000
committerOli Scherer <github333195615777966@oli-obk.de>2025-04-01 09:25:12 +0000
commit86e6cb5608457f59c90fd1dc3914fa2a6c4adbf0 (patch)
treea3abd98f564127b0ff5f87d8bdfe2549a03f21e5
parenta50fb2248a02368888e18ae6e13410c8617313e2 (diff)
downloadrust-86e6cb5608457f59c90fd1dc3914fa2a6c4adbf0.tar.gz
rust-86e6cb5608457f59c90fd1dc3914fa2a6c4adbf0.zip
Decouple trait impls of different traits wrt incremental
-rw-r--r--clippy_lints/src/derive.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/clippy_lints/src/derive.rs b/clippy_lints/src/derive.rs
index 2ae35b40055..fae01026487 100644
--- a/clippy_lints/src/derive.rs
+++ b/clippy_lints/src/derive.rs
@@ -324,11 +324,9 @@ fn check_copy_clone<'tcx>(cx: &LateContext<'tcx>, item: &Item<'_>, trait_ref: &h
     // there's a Copy impl for any instance of the adt.
     if !is_copy(cx, ty) {
         if ty_subs.non_erasable_generics().next().is_some() {
-            let has_copy_impl = cx.tcx.all_local_trait_impls(()).get(&copy_id).is_some_and(|impls| {
-                impls.iter().any(|&id| {
-                    matches!(cx.tcx.type_of(id).instantiate_identity().kind(), ty::Adt(adt, _)
+            let has_copy_impl = cx.tcx.local_trait_impls(copy_id).iter().any(|&id| {
+                matches!(cx.tcx.type_of(id).instantiate_identity().kind(), ty::Adt(adt, _)
                                         if ty_adt.did() == adt.did())
-                })
             });
             if !has_copy_impl {
                 return;