Files
rust/tests/ui
Jason Newcomb ec8e8fde91 refactor(non_canonical_impls): lint starting from impls (#15749)
Based on
https://github.com/rust-lang/rust-clippy/pull/15520#discussion_r2372599748,
with the following changes/additions:
- No longer use the `Trait` enum for quickly filtering out irrelevant
impls -- instead, check the `trait_of` basically right away:
    1. pre-fetch `DefId`s of the relevant traits into the lint pass
2. reuse `cx.tcx.impl_trait_ref`'s output for the the `DefId` of the
trait being implemented
    3. compare those `DefId`s, which should be very cheap
- Next, check whether `self_ty` implements the other relevant trait.
- Pre-filter impl items in the same (lazy) iterator, but delay the
proc-macro check as much as possible

changelog: none

Not auto-assigning since @blyxyas and/or @Jarcho will be the ones
reviewing it:
r? ghost
2025-10-15 02:20:21 +00:00
..
2025-10-10 22:30:57 -04:00
2025-02-15 13:38:42 +01:00
2025-10-06 21:21:02 +03:00
2025-10-04 10:41:35 -04:00
2025-10-04 10:41:35 -04:00
2025-10-04 10:41:35 -04:00
2025-10-04 10:41:35 -04:00
2025-02-15 13:38:42 +01:00
2025-09-28 11:30:47 +02:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-10-04 10:41:35 -04:00
2025-02-15 13:38:42 +01:00
2025-06-18 10:20:46 +02:00
2025-09-17 19:42:38 -04:00
2025-10-06 21:21:02 +03:00
2025-09-28 12:11:02 +02:00
2025-09-28 12:11:02 +02:00
2025-09-28 12:11:02 +02:00
2025-09-28 12:11:02 +02:00
2025-09-28 12:11:02 +02:00
2025-10-06 21:21:02 +03:00
2025-10-06 21:21:02 +03:00
2025-10-06 21:21:02 +03:00
2025-02-15 13:38:43 +01:00
2025-07-13 13:50:01 +00:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-10-04 10:41:35 -04:00
2025-10-07 11:33:54 -04:00
2025-10-07 11:33:54 -04:00
2025-10-07 11:33:54 -04:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-07-13 13:50:01 +00:00
2025-09-14 11:35:54 +02:00
2025-09-14 11:35:54 +02:00
2025-06-11 15:30:15 +01:00
2025-06-11 15:30:15 +01:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00
2025-02-15 13:38:42 +01:00