about summary refs log tree commit diff
path: root/compiler/rustc_trait_selection/src/traits/select/confirmation.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2024-12-10 17:20:54 +0000
committerMichael Goulet <michael@errs.io>2024-12-10 17:23:02 +0000
commit57e8a1c9c3b753f3a96a124149ca1ba07f0db483 (patch)
tree634960ebf1315980712814ee0d43362e7e8fafb2 /compiler/rustc_trait_selection/src/traits/select/confirmation.rs
parenta7fa4cbcb498b80b126a954b5944f19a11e28dec (diff)
downloadrust-57e8a1c9c3b753f3a96a124149ca1ba07f0db483.tar.gz
rust-57e8a1c9c3b753f3a96a124149ca1ba07f0db483.zip
Don't check RPITITs that are Self:Sized for PointerLike
Diffstat (limited to 'compiler/rustc_trait_selection/src/traits/select/confirmation.rs')
-rw-r--r--compiler/rustc_trait_selection/src/traits/select/confirmation.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/select/confirmation.rs b/compiler/rustc_trait_selection/src/traits/select/confirmation.rs
index 3664121ac4b..962b6b94fa6 100644
--- a/compiler/rustc_trait_selection/src/traits/select/confirmation.rs
+++ b/compiler/rustc_trait_selection/src/traits/select/confirmation.rs
@@ -1197,6 +1197,11 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
                                 continue;
                             }
 
+                            // RPITITs with `Self: Sized` don't need to be checked.
+                            if tcx.generics_require_sized_self(assoc_item) {
+                                continue;
+                            }
+
                             let pointer_like_goal = pointer_like_goal_for_rpitit(
                                 tcx,
                                 supertrait,