We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2b11f26 commit edca9c2Copy full SHA for edca9c2
compiler/rustc_middle/src/hir/map/mod.rs
@@ -598,8 +598,10 @@ impl<'hir> Map<'hir> {
598
/// in the HIR which is recorded by the map and is an item, either an item
599
/// in a module, trait, or impl.
600
pub fn get_parent_item(self, hir_id: HirId) -> OwnerId {
601
- if let Some((def_id, _node)) = self.parent_owner_iter(hir_id).next() {
602
- def_id
+ if hir_id.local_id.index() != 0 || hir_id.owner == CRATE_OWNER_ID {
+ hir_id.owner
603
+ } else if let Some(local_def_index) = self.def_key(hir_id.owner.def_id).parent {
604
+ self.tcx.local_def_id_to_hir_id(LocalDefId { local_def_index }).owner
605
} else {
606
CRATE_OWNER_ID
607
}
0 commit comments