Skip to content

Commit 2998564

Browse files
committed
Refactor away ExternalExports
1 parent cbae67a commit 2998564

File tree

4 files changed

+3
-31
lines changed

4 files changed

+3
-31
lines changed

src/librustc_driver/driver.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,6 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session,
761761
freevars,
762762
export_map,
763763
trait_map,
764-
external_exports,
765764
glob_map,
766765
} = time(time_passes,
767766
"resolution",
@@ -822,9 +821,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session,
822821

823822
analysis.access_levels =
824823
time(time_passes, "privacy checking", || {
825-
rustc_privacy::check_crate(tcx,
826-
&analysis.export_map,
827-
external_exports)
824+
rustc_privacy::check_crate(tcx, &analysis.export_map)
828825
});
829826

830827
// Do not move this check past lint

src/librustc_privacy/lib.rs

+1-7
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ use rustc::middle::cstore::CrateStore;
4242
use rustc::middle::def::{self, Def};
4343
use rustc::middle::def_id::DefId;
4444
use rustc::middle::privacy::{AccessLevel, AccessLevels};
45-
use rustc::middle::privacy::ExternalExports;
4645
use rustc::middle::ty::{self, TyCtxt};
4746
use rustc::util::nodemap::{NodeMap, NodeSet};
4847
use rustc::front::map as ast_map;
@@ -477,7 +476,6 @@ struct PrivacyVisitor<'a, 'tcx: 'a> {
477476
curitem: ast::NodeId,
478477
in_foreign: bool,
479478
parents: NodeMap<ast::NodeId>,
480-
external_exports: ExternalExports,
481479
}
482480

483481
#[derive(Debug)]
@@ -1568,10 +1566,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for PrivateItemsInPublicInterfacesVisitor<'a, 'tc
15681566
}
15691567
}
15701568

1571-
pub fn check_crate(tcx: &TyCtxt,
1572-
export_map: &def::ExportMap,
1573-
external_exports: ExternalExports)
1574-
-> AccessLevels {
1569+
pub fn check_crate(tcx: &TyCtxt, export_map: &def::ExportMap) -> AccessLevels {
15751570
let _task = tcx.dep_graph.in_task(DepNode::Privacy);
15761571

15771572
let krate = tcx.map.krate();
@@ -1594,7 +1589,6 @@ pub fn check_crate(tcx: &TyCtxt,
15941589
in_foreign: false,
15951590
tcx: tcx,
15961591
parents: visitor.parents,
1597-
external_exports: external_exports,
15981592
};
15991593
intravisit::walk_crate(&mut visitor, krate);
16001594

src/librustc_resolve/build_reduced_graph.rs

-14
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,6 @@ impl<'a, 'b:'a, 'tcx:'b> GraphBuilder<'a, 'b, 'tcx> {
289289
krate: crate_id,
290290
index: CRATE_DEF_INDEX,
291291
};
292-
self.external_exports.insert(def_id);
293292
let parent_link = ModuleParentLink(parent, name);
294293
let def = Def::Mod(def_id);
295294
let module = self.new_extern_crate_module(parent_link, def, is_public, item.id);
@@ -495,15 +494,6 @@ impl<'a, 'b:'a, 'tcx:'b> GraphBuilder<'a, 'b, 'tcx> {
495494
modifiers = modifiers | DefModifiers::IMPORTABLE;
496495
}
497496

498-
let is_exported = is_public &&
499-
match new_parent.def_id() {
500-
None => true,
501-
Some(did) => self.external_exports.contains(&did),
502-
};
503-
if is_exported {
504-
self.external_exports.insert(def.def_id());
505-
}
506-
507497
match def {
508498
Def::Mod(_) | Def::ForeignMod(_) | Def::Enum(..) | Def::TyAlias(..) => {
509499
debug!("(building reduced graph for external crate) building module {} {}",
@@ -552,10 +542,6 @@ impl<'a, 'b:'a, 'tcx:'b> GraphBuilder<'a, 'b, 'tcx> {
552542
trait_item_name);
553543

554544
self.trait_item_map.insert((trait_item_name, def_id), trait_item_def.def_id());
555-
556-
if is_exported {
557-
self.external_exports.insert(trait_item_def.def_id());
558-
}
559545
}
560546

561547
let parent_link = ModuleParentLink(new_parent, name);

src/librustc_resolve/lib.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ use rustc::middle::cstore::{CrateStore, DefLike, DlDef};
5555
use rustc::middle::def::*;
5656
use rustc::middle::def_id::DefId;
5757
use rustc::middle::pat_util::pat_bindings;
58-
use rustc::middle::privacy::ExternalExports;
5958
use rustc::middle::subst::{ParamSpace, FnSpace, TypeSpace};
6059
use rustc::middle::ty::{Freevar, FreevarMap, TraitMap, GlobMap};
61-
use rustc::util::nodemap::{NodeMap, DefIdSet, FnvHashMap};
60+
use rustc::util::nodemap::{NodeMap, FnvHashMap};
6261

6362
use syntax::ast::{self, FloatTy};
6463
use syntax::ast::{CRATE_NODE_ID, Name, NodeId, CrateNum, IntTy, UintTy};
@@ -1093,7 +1092,6 @@ pub struct Resolver<'a, 'tcx: 'a> {
10931092
freevars_seen: NodeMap<NodeMap<usize>>,
10941093
export_map: ExportMap,
10951094
trait_map: TraitMap,
1096-
external_exports: ExternalExports,
10971095

10981096
// Whether or not to print error messages. Can be set to true
10991097
// when getting additional info for error message suggestions,
@@ -1184,7 +1182,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
11841182
trait_map: NodeMap(),
11851183
used_imports: HashSet::new(),
11861184
used_crates: HashSet::new(),
1187-
external_exports: DefIdSet(),
11881185

11891186
emit_errors: true,
11901187
make_glob_map: make_glob_map == MakeGlobMap::Yes,
@@ -3716,7 +3713,6 @@ pub struct CrateMap {
37163713
pub freevars: FreevarMap,
37173714
pub export_map: ExportMap,
37183715
pub trait_map: TraitMap,
3719-
pub external_exports: ExternalExports,
37203716
pub glob_map: Option<GlobMap>,
37213717
}
37223718

@@ -3754,7 +3750,6 @@ pub fn resolve_crate<'a, 'tcx>(session: &'a Session,
37543750
freevars: resolver.freevars,
37553751
export_map: resolver.export_map,
37563752
trait_map: resolver.trait_map,
3757-
external_exports: resolver.external_exports,
37583753
glob_map: if resolver.make_glob_map {
37593754
Some(resolver.glob_map)
37603755
} else {

0 commit comments

Comments
 (0)