This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed
rustc_trait_selection/src/traits/error_reporting Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -316,7 +316,7 @@ impl<'hir> Map<'hir> {
316316 /// Retrieves the `Node` corresponding to `id`, returning `None` if cannot be found.
317317 #[ inline]
318318 pub fn find_by_def_id ( self , id : LocalDefId ) -> Option < Node < ' hir > > {
319- self . find ( self . local_def_id_to_hir_id ( id) )
319+ self . find ( self . tcx . opt_local_def_id_to_hir_id ( id) ? )
320320 }
321321
322322 /// Retrieves the `Node` corresponding to `id`, panicking if it cannot be found.
@@ -333,7 +333,7 @@ impl<'hir> Map<'hir> {
333333 }
334334
335335 pub fn get_if_local ( self , id : DefId ) -> Option < Node < ' hir > > {
336- id. as_local ( ) . and_then ( |id| self . find ( self . local_def_id_to_hir_id ( id) ) )
336+ id. as_local ( ) . and_then ( |id| self . find ( self . tcx . opt_local_def_id_to_hir_id ( id) ? ) )
337337 }
338338
339339 pub fn get_generics ( self , id : LocalDefId ) -> Option < & ' hir Generics < ' hir > > {
Original file line number Diff line number Diff line change @@ -144,6 +144,10 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
144144 trait_ref : ty:: PolyTraitRef < ' tcx > ,
145145 obligation : & PredicateObligation < ' tcx > ,
146146 ) -> OnUnimplementedNote {
147+ if self . tcx . opt_rpitit_info ( obligation. cause . body_id . to_def_id ( ) ) . is_some ( ) {
148+ return OnUnimplementedNote :: default ( ) ;
149+ }
150+
147151 let ( def_id, substs) = self
148152 . impl_similar_to ( trait_ref, obligation)
149153 . unwrap_or_else ( || ( trait_ref. def_id ( ) , trait_ref. skip_binder ( ) . substs ) ) ;
You can’t perform that action at this time.
0 commit comments