Skip to content

Commit 4824363

Browse files
committed
Remove some direct calls to local_def_id_to_hir_id on diagnostics
1 parent 669e751 commit 4824363

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

compiler/rustc_middle/src/hir/map/mod.rs

+2-2
Original file line numberDiff line numberDiff 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>> {

compiler/rustc_trait_selection/src/traits/error_reporting/on_unimplemented.rs

+4
Original file line numberDiff line numberDiff 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));

0 commit comments

Comments
 (0)