diff options
| author | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2018-02-27 17:11:14 +0100 |
|---|---|---|
| committer | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2018-03-02 10:48:52 +0100 |
| commit | b74e97cf42e647d87d67a03c134a0494b6aaa811 (patch) | |
| tree | a66e948a4d31dd9681cb6984a3b1fb774bebae4a /src/librustdoc | |
| parent | 878f5b05147480182ea4d8a855acc55bfeb16c22 (diff) | |
Replace Rc with Lrc for shared data
Diffstat (limited to 'src/librustdoc')
| -rw-r--r-- | src/librustdoc/clean/inline.rs | 4 | ||||
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 3 | ||||
| -rw-r--r-- | src/librustdoc/core.rs | 5 | ||||
| -rw-r--r-- | src/librustdoc/test.rs | 16 |
4 files changed, 15 insertions, 13 deletions
diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs index b382ba7f22d..090adc27ef0 100644 --- a/src/librustdoc/clean/inline.rs +++ b/src/librustdoc/clean/inline.rs @@ -12,8 +12,8 @@ use std::collections::BTreeMap; use std::io; -use std::rc::Rc; use std::iter::once; +use rustc_data_structures::sync::Lrc; use syntax::ast; use rustc::hir; @@ -409,7 +409,7 @@ fn build_module(cx: &DocContext, did: DefId) -> clean::Module { } struct InlinedConst { - nested_bodies: Rc<BTreeMap<hir::BodyId, hir::Body>> + nested_bodies: Lrc<BTreeMap<hir::BodyId, hir::Body>> } impl hir::print::PpAnn for InlinedConst { diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 870b5383852..f9f1c330494 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -55,6 +55,7 @@ use rustc_const_math::ConstInt; use std::default::Default; use std::{mem, slice, vec}; use std::iter::{FromIterator, once}; +use rustc_data_structures::sync::Lrc; use std::rc::Rc; use std::cell::RefCell; use std::sync::Arc; @@ -3899,7 +3900,7 @@ pub fn path_to_def(tcx: &TyCtxt, path: &[&str]) -> Option<DefId> { None => return None, }; - for item in mem::replace(&mut items, Rc::new(vec![])).iter() { + for item in mem::replace(&mut items, Lrc::new(vec![])).iter() { if item.ident.name == *segment { if path_it.peek().is_none() { return match item.def { diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index 9ee0937f425..1e0fafc8d9d 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -31,6 +31,7 @@ use errors::emitter::ColorConfig; use std::cell::{RefCell, Cell}; use std::mem; +use rustc_data_structures::sync::Lrc; use std::rc::Rc; use std::path::PathBuf; @@ -148,7 +149,7 @@ pub fn run_core(search_paths: SearchPaths, ..config::basic_options().clone() }; - let codemap = Rc::new(codemap::CodeMap::new(sessopts.file_path_mapping())); + let codemap = Lrc::new(codemap::CodeMap::new(sessopts.file_path_mapping())); let diagnostic_handler = errors::Handler::with_tty_emitter(ColorConfig::Auto, true, false, @@ -202,7 +203,7 @@ pub fn run_core(search_paths: SearchPaths, maybe_unused_extern_crates: resolver.maybe_unused_extern_crates.clone(), }; let analysis = ty::CrateAnalysis { - access_levels: Rc::new(AccessLevels::default()), + access_levels: Lrc::new(AccessLevels::default()), name: name.to_string(), glob_map: if resolver.make_glob_map { Some(resolver.glob_map.clone()) } else { None }, }; diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs index 12c4076c9a5..f4c9d556c8a 100644 --- a/src/librustdoc/test.rs +++ b/src/librustdoc/test.rs @@ -15,8 +15,8 @@ use std::io; use std::path::{Path, PathBuf}; use std::panic::{self, AssertUnwindSafe}; use std::process::Command; -use std::rc::Rc; use std::str; +use rustc_data_structures::sync::Lrc; use std::sync::{Arc, Mutex}; use testing; @@ -72,7 +72,7 @@ pub fn run(input_path: &Path, ..config::basic_options().clone() }; - let codemap = Rc::new(CodeMap::new(sessopts.file_path_mapping())); + let codemap = Lrc::new(CodeMap::new(sessopts.file_path_mapping())); let handler = errors::Handler::with_tty_emitter(ColorConfig::Auto, true, false, @@ -82,7 +82,7 @@ pub fn run(input_path: &Path, sessopts, Some(input_path.to_owned()), handler, codemap.clone(), ); let trans = rustc_driver::get_trans(&sess); - let cstore = Rc::new(CStore::new(trans.metadata_loader())); + let cstore = CStore::new(trans.metadata_loader()); rustc_lint::register_builtins(&mut sess.lint_store.borrow_mut(), Some(&sess)); sess.parse_sess.config = config::build_configuration(&sess, config::parse_cfgspecs(cfgs.clone())); @@ -119,7 +119,7 @@ pub fn run(input_path: &Path, linker); { - let map = hir::map::map_crate(&sess, &*cstore, &mut hir_forest, &defs); + let map = hir::map::map_crate(&sess, &cstore, &mut hir_forest, &defs); let krate = map.krate(); let mut hir_collector = HirCollector { sess: &sess, @@ -230,7 +230,7 @@ fn run_test(test: &str, cratename: &str, filename: &FileName, line: usize, } } let data = Arc::new(Mutex::new(Vec::new())); - let codemap = Rc::new(CodeMap::new_doctest( + let codemap = Lrc::new(CodeMap::new_doctest( sessopts.file_path_mapping(), filename.clone(), line as isize - line_offset as isize )); let emitter = errors::emitter::EmitterWriter::new(box Sink(data.clone()), @@ -247,7 +247,7 @@ fn run_test(test: &str, cratename: &str, filename: &FileName, line: usize, sessopts, None, diagnostic_handler, codemap, ); let trans = rustc_driver::get_trans(&sess); - let cstore = Rc::new(CStore::new(trans.metadata_loader())); + let cstore = CStore::new(trans.metadata_loader()); rustc_lint::register_builtins(&mut sess.lint_store.borrow_mut(), Some(&sess)); let outdir = Mutex::new(TempDir::new("rustdoctest").ok().expect("rustdoc needs a tempdir")); @@ -462,7 +462,7 @@ pub struct Collector { opts: TestOptions, maybe_sysroot: Option<PathBuf>, position: Span, - codemap: Option<Rc<CodeMap>>, + codemap: Option<Lrc<CodeMap>>, filename: Option<PathBuf>, linker: Option<PathBuf>, } @@ -470,7 +470,7 @@ pub struct Collector { impl Collector { pub fn new(cratename: String, cfgs: Vec<String>, libs: SearchPaths, externs: Externs, use_headers: bool, opts: TestOptions, maybe_sysroot: Option<PathBuf>, - codemap: Option<Rc<CodeMap>>, filename: Option<PathBuf>, + codemap: Option<Lrc<CodeMap>>, filename: Option<PathBuf>, linker: Option<PathBuf>) -> Collector { Collector { tests: Vec::new(), |
