diff options
| author | Ms2ger <Ms2ger@gmail.com> | 2016-05-10 15:34:25 +0200 |
|---|---|---|
| committer | Ms2ger <Ms2ger@gmail.com> | 2016-05-10 15:34:25 +0200 |
| commit | 9ac468b841cf01e7b575f4c20d10df8096c31f7a (patch) | |
| tree | 901937d1292821debb4130d6a124b4bc48014928 | |
| parent | 1939b76903eb8a4aa02dadc52353541637e3b98c (diff) | |
| download | rust-9ac468b841cf01e7b575f4c20d10df8096c31f7a.tar.gz rust-9ac468b841cf01e7b575f4c20d10df8096c31f7a.zip | |
Store a reference rather than a RefCell in LocalCrateReader.
| -rw-r--r-- | src/librustc_driver/driver.rs | 2 | ||||
| -rw-r--r-- | src/librustc_driver/test.rs | 2 | ||||
| -rw-r--r-- | src/librustc_metadata/creader.rs | 9 | ||||
| -rw-r--r-- | src/librustdoc/core.rs | 2 | ||||
| -rw-r--r-- | src/test/run-make/execution-engine/test.rs | 2 |
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) |
