diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-07-28 18:23:40 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-07-31 19:31:29 +0300 |
| commit | b08576b2ad9dc25d166fae657c3f0331195681ec (patch) | |
| tree | 622d6af4fe7fdd208affea726f2afec9b51ad0dc /src | |
| parent | 337181e07d3cd33c0aec2f17c12279bc9afca88f (diff) | |
rustc: Replace `HirId`s with `LocalDefId`s in `AccessLevels` tables
and passes using them - primarily privacy checking, stability checking and dead code checking. WIP
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/core.rs | 9 | ||||
| -rw-r--r-- | src/librustdoc/passes/collect_intra_doc_links.rs | 7 |
2 files changed, 3 insertions, 13 deletions
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index 0689d72e4e0..46aa9617227 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -374,15 +374,8 @@ crate fn run_global_ctxt( }); rustc_passes::stability::check_unused_or_stable_features(tcx); - let access_levels = tcx.privacy_access_levels(()); - // Convert from a HirId set to a DefId set since we don't always have easy access - // to the map from defid -> hirid let access_levels = AccessLevels { - map: access_levels - .map - .iter() - .map(|(&k, &v)| (tcx.hir().local_def_id(k).to_def_id(), v)) - .collect(), + map: tcx.privacy_access_levels(()).map.iter().map(|(k, v)| (k.to_def_id(), *v)).collect(), }; let mut ctxt = DocContext { diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index ddb7b85d34a..096c0a05ff7 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -1244,11 +1244,8 @@ impl LinkCollector<'_, '_> { item.def_id.expect_def_id().as_local().map(|src_id| (src_id, dst_id)) }) { - let hir_src = self.cx.tcx.hir().local_def_id_to_hir_id(src_id); - let hir_dst = self.cx.tcx.hir().local_def_id_to_hir_id(dst_id); - - if self.cx.tcx.privacy_access_levels(()).is_exported(hir_src) - && !self.cx.tcx.privacy_access_levels(()).is_exported(hir_dst) + if self.cx.tcx.privacy_access_levels(()).is_exported(src_id) + && !self.cx.tcx.privacy_access_levels(()).is_exported(dst_id) { privacy_error(self.cx, &diag_info, &path_str); } |
