diff options
| author | Michael Goulet <michael@errs.io> | 2025-04-25 01:53:05 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2025-04-25 01:57:45 +0000 |
| commit | 1d0b3be659fe7128f4a66f593729e9c0627ed90a (patch) | |
| tree | 42c134824617f7484fa47b3354d125d1accfde3e /compiler/rustc_trait_selection/src | |
| parent | d7ea436a02d5de4033fcf7fd4eb8ed965d0f574c (diff) | |
| download | rust-1d0b3be659fe7128f4a66f593729e9c0627ed90a.tar.gz rust-1d0b3be659fe7128f4a66f593729e9c0627ed90a.zip | |
Don't use item name to look up associated item from trait item
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs b/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs index df6e8fc4503..4330f1f2292 100644 --- a/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs +++ b/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs @@ -1523,19 +1523,17 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> { return None; }; - let trait_assoc_item = self.tcx.opt_associated_item(proj.projection_term.def_id)?; - let trait_assoc_ident = trait_assoc_item.ident(self.tcx); - let mut associated_items = vec![]; self.tcx.for_each_relevant_impl( self.tcx.trait_of_item(proj.projection_term.def_id)?, proj.projection_term.self_ty(), |impl_def_id| { associated_items.extend( - self.tcx - .associated_items(impl_def_id) - .in_definition_order() - .find(|assoc| assoc.ident(self.tcx) == trait_assoc_ident), + self.tcx.associated_items(impl_def_id).in_definition_order().find( + |assoc| { + assoc.trait_item_def_id == Some(proj.projection_term.def_id) + }, + ), ); }, ); |
