Skip to content

Commit e4f6bcb

Browse files
committed
using local def id
1 parent 122d917 commit e4f6bcb

File tree

4 files changed

+12
-13
lines changed

4 files changed

+12
-13
lines changed

compiler/rustc_middle/src/ty/context.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,8 +1161,8 @@ impl<'tcx> TyCtxt<'tcx> {
11611161
)
11621162
}
11631163

1164-
pub fn get_resolver_access_level(self, hir_id: HirId) -> Option<AccessLevel> {
1165-
self.gcx.untracked_resolutions.access_levels.get(&hir_id).copied()
1164+
pub fn get_resolver_access_level(self, local_def_id: LocalDefId) -> Option<AccessLevel> {
1165+
self.gcx.untracked_resolutions.access_levels.get(&local_def_id).copied()
11661166
}
11671167

11681168
pub fn lift<T: Lift<'tcx>>(self, value: T) -> Option<T::Lifted> {

compiler/rustc_middle/src/ty/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ pub struct ResolverOutputs {
119119
pub definitions: rustc_hir::definitions::Definitions,
120120
pub cstore: Box<CrateStoreDyn>,
121121
pub visibilities: FxHashMap<LocalDefId, Visibility>,
122-
pub access_levels: FxHashMap<HirId, AccessLevel>,
122+
pub access_levels: FxHashMap<LocalDefId, AccessLevel>,
123123
pub extern_crate_map: FxHashMap<LocalDefId, CrateNum>,
124124
pub maybe_unused_trait_imports: FxHashSet<LocalDefId>,
125125
pub maybe_unused_extern_crates: Vec<(LocalDefId, Span)>,

compiler/rustc_privacy/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,8 +686,9 @@ impl Visitor<'tcx> for EmbargoVisitor<'tcx> {
686686
item.def_id.to_def_id(),
687687
path.segments.last()
688688
);
689+
689690
if item.vis.node.is_pub() {
690-
let access_level = self.tcx.get_resolver_access_level(item.hir_id());
691+
let access_level = self.tcx.get_resolver_access_level(item.def_id);
691692
self.update(item.hir_id(), access_level);
692693
}
693694
}

compiler/rustc_resolve/src/lib.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,7 @@ pub struct Resolver<'a> {
10341034

10351035
main_def: Option<MainDefinition>,
10361036

1037-
node_privacy: FxHashMap<HirId, AccessLevel>,
1037+
nodes_access_level: FxHashMap<LocalDefId, AccessLevel>,
10381038
}
10391039

10401040
/// Nothing really interesting here; it just provides memory for the rest of the crate.
@@ -1397,7 +1397,7 @@ impl<'a> Resolver<'a> {
13971397
legacy_const_generic_args: Default::default(),
13981398
main_def: Default::default(),
13991399

1400-
node_privacy: Default::default(),
1400+
nodes_access_level: Default::default(),
14011401
};
14021402

14031403
let root_parent_scope = ParentScope::module(graph_root, &resolver);
@@ -1440,7 +1440,7 @@ impl<'a> Resolver<'a> {
14401440
let maybe_unused_extern_crates = self.maybe_unused_extern_crates;
14411441
let glob_map = self.glob_map;
14421442
let main_def = self.main_def;
1443-
let access_levels = self.node_privacy;
1443+
let access_levels = self.nodes_access_level;
14441444
ResolverOutputs {
14451445
definitions,
14461446
cstore: Box::new(self.crate_loader.into_cstore()),
@@ -1463,7 +1463,7 @@ impl<'a> Resolver<'a> {
14631463
pub fn clone_outputs(&self) -> ResolverOutputs {
14641464
ResolverOutputs {
14651465
definitions: self.definitions.clone(),
1466-
access_levels: self.node_privacy.clone(),
1466+
access_levels: self.nodes_access_level.clone(),
14671467
cstore: Box::new(self.cstore().clone()),
14681468
visibilities: self.visibilities.clone(),
14691469
extern_crate_map: self.extern_crate_map.clone(),
@@ -1549,7 +1549,7 @@ impl<'a> Resolver<'a> {
15491549
}
15501550
}
15511551

1552-
tracing::info!("node_privacy: {:#?}", self.node_privacy);
1552+
tracing::info!("nodes_access_level: {:#?}", self.nodes_access_level);
15531553
}
15541554

15551555
fn recursive_define_access_level(
@@ -1584,10 +1584,8 @@ impl<'a> Resolver<'a> {
15841584
}
15851585

15861586
fn mark_node_with_access_level(&mut self, node_id: NodeId, access_level: AccessLevel) -> bool {
1587-
if let Some(local_def_id) = self.opt_local_def_id(node_id) {
1588-
if let Some(hir_id) = self.definitions().def_id_to_hir_id.get(local_def_id.to_def_id()) {
1589-
self.node_privacy.insert(hir_id, access_level).is_none();
1590-
}
1587+
if let Some(def_id) = self.opt_local_def_id(node_id) {
1588+
self.nodes_access_level.insert(def_id, access_level).is_none()
15911589
} else {
15921590
false
15931591
}

0 commit comments

Comments
 (0)