diff options
| author | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-20 10:57:23 +0200 |
|---|---|---|
| committer | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-22 15:03:18 +0200 |
| commit | 6cf7634323374cfbd618c5bd3ca7040cfdf96f55 (patch) | |
| tree | ca951b91dac4a76619eda62a492522e52de7c6d2 | |
| parent | 37b6237cd31798037cfdf5556ce44ab8fabd7883 (diff) | |
| download | rust-6cf7634323374cfbd618c5bd3ca7040cfdf96f55.tar.gz rust-6cf7634323374cfbd618c5bd3ca7040cfdf96f55.zip | |
non_canonical_impls: save diagnostic name to a variable
| -rw-r--r-- | clippy_lints/src/non_canonical_impls.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clippy_lints/src/non_canonical_impls.rs b/clippy_lints/src/non_canonical_impls.rs index 04b09276966..19fd1925e90 100644 --- a/clippy_lints/src/non_canonical_impls.rs +++ b/clippy_lints/src/non_canonical_impls.rs @@ -134,7 +134,8 @@ impl LateLintPass<'_> for NonCanonicalImpls { return; } - if cx.tcx.is_diagnostic_item(sym::Clone, trait_impl.def_id) + let trait_name = cx.tcx.get_diagnostic_name(trait_impl.def_id); + if trait_name == Some(sym::Clone) && let Some(copy_def_id) = cx.tcx.get_diagnostic_item(sym::Copy) && implements_trait(cx, trait_impl.self_ty(), copy_def_id, &[]) { @@ -175,7 +176,7 @@ impl LateLintPass<'_> for NonCanonicalImpls { } } - if cx.tcx.is_diagnostic_item(sym::PartialOrd, trait_impl.def_id) + if trait_name == Some(sym::PartialOrd) && impl_item.ident.name == sym::partial_cmp && let Some(ord_def_id) = cx.tcx.get_diagnostic_item(sym::Ord) && implements_trait(cx, trait_impl.self_ty(), ord_def_id, &[]) |
