about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-05-10 15:34:25 +0200
committerMs2ger <Ms2ger@gmail.com>2016-05-10 15:34:25 +0200
commit9ac468b841cf01e7b575f4c20d10df8096c31f7a (patch)
tree901937d1292821debb4130d6a124b4bc48014928
parent1939b76903eb8a4aa02dadc52353541637e3b98c (diff)
downloadrust-9ac468b841cf01e7b575f4c20d10df8096c31f7a.tar.gz
rust-9ac468b841cf01e7b575f4c20d10df8096c31f7a.zip
Store a reference rather than a RefCell in LocalCrateReader.
-rw-r--r--src/librustc_driver/driver.rs2
-rw-r--r--src/librustc_driver/test.rs2
-rw-r--r--src/librustc_metadata/creader.rs9
-rw-r--r--src/librustdoc/core.rs2
-rw-r--r--src/test/run-make/execution-engine/test.rs2
5 files changed, 8 insertions, 9 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index e72204e5e22..8841480f7f6 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -148,7 +148,7 @@ pub fn compile_input(sess: &Session,
 
         time(sess.time_passes(),
              "external crate/lib resolution",
-             || LocalCrateReader::new(sess, &cstore, defs, &expanded_crate, &id)
+             || LocalCrateReader::new(sess, &cstore, &defs.borrow(), &expanded_crate, &id)
                     .read_crates(&dep_graph));
 
         time(sess.time_passes(),
diff --git a/src/librustc_driver/test.rs b/src/librustc_driver/test.rs
index 869bbb723ef..ed9a092b6ff 100644
--- a/src/librustc_driver/test.rs
+++ b/src/librustc_driver/test.rs
@@ -121,7 +121,7 @@ fn test_env<F>(source_string: &str,
     let dep_graph = DepGraph::new(false);
     let krate = driver::assign_node_ids(&sess, krate);
     let defs = &RefCell::new(hir_map::collect_definitions(&krate));
-    LocalCrateReader::new(&sess, &cstore, defs, &krate, "test_crate").read_crates(&dep_graph);
+    LocalCrateReader::new(&sess, &cstore, &defs.borrow(), &krate, "test_crate").read_crates(&dep_graph);
     let _ignore = dep_graph.in_ignore();
 
     let (_, resolutions, mut hir_forest) = {
diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs
index 190e8552d19..2b02a745bef 100644
--- a/src/librustc_metadata/creader.rs
+++ b/src/librustc_metadata/creader.rs
@@ -46,7 +46,7 @@ pub struct LocalCrateReader<'a> {
     cstore: &'a CStore,
     creader: CrateReader<'a>,
     krate: &'a ast::Crate,
-    defintions: &'a RefCell<hir_map::Definitions>,
+    defintions: &'a hir_map::Definitions,
 }
 
 pub struct CrateReader<'a> {
@@ -843,7 +843,7 @@ impl<'a> CrateReader<'a> {
 impl<'a> LocalCrateReader<'a> {
     pub fn new(sess: &'a Session,
                cstore: &'a CStore,
-               defs: &'a RefCell<hir_map::Definitions>,
+               defs: &'a hir_map::Definitions,
                krate: &'a ast::Crate,
                local_crate_name: &str)
                -> LocalCrateReader<'a> {
@@ -902,9 +902,8 @@ impl<'a> LocalCrateReader<'a> {
                                                                       PathKind::Crate,
                                                                       true);
 
-                        let defs = self.defintions.borrow();
-                        let def_id = defs.opt_local_def_id(i.id).unwrap();
-                        let len = defs.def_path(def_id.index).data.len();
+                        let def_id = self.defintions.opt_local_def_id(i.id).unwrap();
+                        let len = self.defintions.def_path(def_id.index).data.len();
 
                         self.creader.update_extern_crate(cnum,
                                                          ExternCrate {
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index e5fc84037ce..77a780805a6 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -154,7 +154,7 @@ pub fn run_core(search_paths: SearchPaths,
     let dep_graph = DepGraph::new(false);
 
     let defs = &RefCell::new(hir_map::collect_definitions(&krate));
-    LocalCrateReader::new(&sess, &cstore, &defs, &krate, &name).read_crates(&dep_graph);
+    LocalCrateReader::new(&sess, &cstore, &defs.borrow(), &krate, &name).read_crates(&dep_graph);
 
     // Lower ast -> hir and resolve.
     let (analysis, resolutions, mut hir_forest) = {
diff --git a/src/test/run-make/execution-engine/test.rs b/src/test/run-make/execution-engine/test.rs
index 98412c08df5..f46846c34a5 100644
--- a/src/test/run-make/execution-engine/test.rs
+++ b/src/test/run-make/execution-engine/test.rs
@@ -241,7 +241,7 @@ fn compile_program(input: &str, sysroot: PathBuf)
         let dep_graph = DepGraph::new(sess.opts.build_dep_graph());
         let krate = driver::assign_node_ids(&sess, krate);
         let defs = RefCell::new(ast_map::collect_definitions(&krate));
-        LocalCrateReader::new(&sess, &cstore, &defs, &krate, &id).read_crates(&dep_graph);
+        LocalCrateReader::new(&sess, &cstore, &defs.borrow(), &krate, &id).read_crates(&dep_graph);
         let (analysis, resolutions, mut hir_forest) = {
             let defs = &mut *defs.borrow_mut();
             driver::lower_and_resolve(&sess, &id, defs, &krate, dep_graph, MakeGlobMap::No)