Skip to content

Commit 75171e1

Browse files
committed
Update privacy_access_levels
1 parent ccb7da8 commit 75171e1

File tree

4 files changed

+5
-6
lines changed

4 files changed

+5
-6
lines changed

src/librustc/arena.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ macro_rules! arena_types {
8282
[few] stability_index: rustc::middle::stability::Index<'tcx>,
8383
[few] features: syntax::feature_gate::Features,
8484
[few] all_traits: Vec<rustc::hir::def_id::DefId>,
85+
[few] privacy_access_levels: rustc::middle::privacy::AccessLevels,
8586
], $tcx);
8687
)
8788
}

src/librustc/query/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ rustc_queries! {
439439
query check_match(_: DefId) -> () {}
440440

441441
/// Performs part of the privacy check and computes "access levels".
442-
query privacy_access_levels(_: CrateNum) -> Lrc<AccessLevels> {
442+
query privacy_access_levels(_: CrateNum) -> &'tcx AccessLevels {
443443
eval_always
444444
desc { "privacy access levels" }
445445
}

src/librustc_privacy/lib.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ use rustc::ty::query::Providers;
2424
use rustc::ty::subst::InternalSubsts;
2525
use rustc::util::nodemap::HirIdSet;
2626
use rustc_data_structures::fx::FxHashSet;
27-
use rustc_data_structures::sync::Lrc;
2827
use syntax::ast::Ident;
2928
use syntax::attr;
3029
use syntax::symbol::{keywords, sym};
@@ -1851,7 +1850,7 @@ fn check_mod_privacy<'tcx>(tcx: TyCtxt<'_, 'tcx, 'tcx>, module_def_id: DefId) {
18511850
fn privacy_access_levels<'tcx>(
18521851
tcx: TyCtxt<'_, 'tcx, 'tcx>,
18531852
krate: CrateNum,
1854-
) -> Lrc<AccessLevels> {
1853+
) -> &'tcx AccessLevels {
18551854
assert_eq!(krate, LOCAL_CRATE);
18561855

18571856
// Build up a set of all exported items in the AST. This is a set of all
@@ -1872,7 +1871,7 @@ fn privacy_access_levels<'tcx>(
18721871
}
18731872
visitor.update(hir::CRATE_HIR_ID, Some(AccessLevel::Public));
18741873

1875-
Lrc::new(visitor.access_levels)
1874+
tcx.arena.alloc(visitor.access_levels)
18761875
}
18771876

18781877
fn check_private_in_public<'tcx>(tcx: TyCtxt<'_, 'tcx, 'tcx>, krate: CrateNum) {

src/librustc_save_analysis/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ use rustc::session::config::{CrateType, Input, OutputType};
2424
use rustc::ty::{self, DefIdTree, TyCtxt};
2525
use rustc::{bug, span_bug};
2626
use rustc_codegen_utils::link::{filename_for_metadata, out_filename};
27-
use rustc_data_structures::sync::Lrc;
2827

2928
use std::cell::Cell;
3029
use std::default::Default;
@@ -1120,7 +1119,7 @@ pub fn process_crate<'l, 'tcx, H: SaveHandler>(
11201119
// fallback in case the access levels couldn't have been correctly computed.
11211120
let access_levels = match tcx.sess.compile_status() {
11221121
Ok(..) => tcx.privacy_access_levels(LOCAL_CRATE),
1123-
Err(..) => Lrc::new(AccessLevels::default()),
1122+
Err(..) => tcx.arena.alloc(AccessLevels::default()),
11241123
};
11251124

11261125
let save_ctxt = SaveContext {

0 commit comments

Comments
 (0)