diff options
| author | Oli Scherer <github333195615777966@oli-obk.de> | 2025-03-27 11:48:06 +0000 |
|---|---|---|
| committer | Oli Scherer <github333195615777966@oli-obk.de> | 2025-04-01 09:25:12 +0000 |
| commit | 86e6cb5608457f59c90fd1dc3914fa2a6c4adbf0 (patch) | |
| tree | a3abd98f564127b0ff5f87d8bdfe2549a03f21e5 | |
| parent | a50fb2248a02368888e18ae6e13410c8617313e2 (diff) | |
| download | rust-86e6cb5608457f59c90fd1dc3914fa2a6c4adbf0.tar.gz rust-86e6cb5608457f59c90fd1dc3914fa2a6c4adbf0.zip | |
Decouple trait impls of different traits wrt incremental
| -rw-r--r-- | clippy_lints/src/derive.rs | 6 |
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(©_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; |
