Skip to content

Commit 9ac468b

Browse files
committed
Store a reference rather than a RefCell in LocalCrateReader.
1 parent 1939b76 commit 9ac468b

File tree

5 files changed

+8
-9
lines changed

5 files changed

+8
-9
lines changed

src/librustc_driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ pub fn compile_input(sess: &Session,
148148

149149
time(sess.time_passes(),
150150
"external crate/lib resolution",
151-
|| LocalCrateReader::new(sess, &cstore, defs, &expanded_crate, &id)
151+
|| LocalCrateReader::new(sess, &cstore, &defs.borrow(), &expanded_crate, &id)
152152
.read_crates(&dep_graph));
153153

154154
time(sess.time_passes(),

src/librustc_driver/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ fn test_env<F>(source_string: &str,
121121
let dep_graph = DepGraph::new(false);
122122
let krate = driver::assign_node_ids(&sess, krate);
123123
let defs = &RefCell::new(hir_map::collect_definitions(&krate));
124-
LocalCrateReader::new(&sess, &cstore, defs, &krate, "test_crate").read_crates(&dep_graph);
124+
LocalCrateReader::new(&sess, &cstore, &defs.borrow(), &krate, "test_crate").read_crates(&dep_graph);
125125
let _ignore = dep_graph.in_ignore();
126126

127127
let (_, resolutions, mut hir_forest) = {

src/librustc_metadata/creader.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub struct LocalCrateReader<'a> {
4646
cstore: &'a CStore,
4747
creader: CrateReader<'a>,
4848
krate: &'a ast::Crate,
49-
defintions: &'a RefCell<hir_map::Definitions>,
49+
defintions: &'a hir_map::Definitions,
5050
}
5151

5252
pub struct CrateReader<'a> {
@@ -843,7 +843,7 @@ impl<'a> CrateReader<'a> {
843843
impl<'a> LocalCrateReader<'a> {
844844
pub fn new(sess: &'a Session,
845845
cstore: &'a CStore,
846-
defs: &'a RefCell<hir_map::Definitions>,
846+
defs: &'a hir_map::Definitions,
847847
krate: &'a ast::Crate,
848848
local_crate_name: &str)
849849
-> LocalCrateReader<'a> {
@@ -902,9 +902,8 @@ impl<'a> LocalCrateReader<'a> {
902902
PathKind::Crate,
903903
true);
904904

905-
let defs = self.defintions.borrow();
906-
let def_id = defs.opt_local_def_id(i.id).unwrap();
907-
let len = defs.def_path(def_id.index).data.len();
905+
let def_id = self.defintions.opt_local_def_id(i.id).unwrap();
906+
let len = self.defintions.def_path(def_id.index).data.len();
908907

909908
self.creader.update_extern_crate(cnum,
910909
ExternCrate {

src/librustdoc/core.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ pub fn run_core(search_paths: SearchPaths,
154154
let dep_graph = DepGraph::new(false);
155155

156156
let defs = &RefCell::new(hir_map::collect_definitions(&krate));
157-
LocalCrateReader::new(&sess, &cstore, &defs, &krate, &name).read_crates(&dep_graph);
157+
LocalCrateReader::new(&sess, &cstore, &defs.borrow(), &krate, &name).read_crates(&dep_graph);
158158

159159
// Lower ast -> hir and resolve.
160160
let (analysis, resolutions, mut hir_forest) = {

src/test/run-make/execution-engine/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ fn compile_program(input: &str, sysroot: PathBuf)
241241
let dep_graph = DepGraph::new(sess.opts.build_dep_graph());
242242
let krate = driver::assign_node_ids(&sess, krate);
243243
let defs = RefCell::new(ast_map::collect_definitions(&krate));
244-
LocalCrateReader::new(&sess, &cstore, &defs, &krate, &id).read_crates(&dep_graph);
244+
LocalCrateReader::new(&sess, &cstore, &defs.borrow(), &krate, &id).read_crates(&dep_graph);
245245
let (analysis, resolutions, mut hir_forest) = {
246246
let defs = &mut *defs.borrow_mut();
247247
driver::lower_and_resolve(&sess, &id, defs, &krate, dep_graph, MakeGlobMap::No)

0 commit comments

Comments
 (0)