diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2021-05-31 19:48:47 +0200 |
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2021-06-08 19:24:16 +0200 |
| commit | d376f032e65cc02e9a082ab1e919f3798af4b9dd (patch) | |
| tree | c050ae424f24137151cd8ee987a802ca76eddc98 /compiler/rustc_interface/src/passes.rs | |
| parent | db4d8e2cabe646bc5cfa89bb58804c47f8d6d3af (diff) | |
| download | rust-d376f032e65cc02e9a082ab1e919f3798af4b9dd.tar.gz rust-d376f032e65cc02e9a082ab1e919f3798af4b9dd.zip | |
Let several methods take &Resolver instead of a BoxedResolver wrapper
Diffstat (limited to 'compiler/rustc_interface/src/passes.rs')
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 7c5eac8bbae..79b318a4d34 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -7,7 +7,6 @@ use rustc_ast::{self as ast, visit}; use rustc_codegen_ssa::back::link::emit_metadata; use rustc_codegen_ssa::traits::CodegenBackend; use rustc_data_structures::parallel; -use rustc_data_structures::steal::Steal; use rustc_data_structures::sync::{par_iter, Lrc, OnceCell, ParallelIterator, WorkerLocal}; use rustc_data_structures::temp_dir::MaybeTempDir; use rustc_errors::{ErrorReported, PResult}; @@ -346,7 +345,7 @@ fn pre_expansion_lint( fn configure_and_expand_inner<'a>( sess: &'a Session, - lint_store: &'a LintStore, + lint_store: &LintStore, mut krate: ast::Crate, crate_name: &str, resolver_arenas: &'a ResolverArenas<'a>, @@ -669,7 +668,7 @@ fn escape_dep_env(symbol: Symbol) -> String { fn write_out_deps( sess: &Session, - boxed_resolver: &Steal<Rc<RefCell<BoxedResolver>>>, + resolver: &Resolver<'_>, outputs: &OutputFilenames, out_filenames: &[PathBuf], ) { @@ -696,20 +695,18 @@ fn write_out_deps( } if sess.binary_dep_depinfo() { - boxed_resolver.borrow().borrow_mut().access(|resolver| { - for cnum in resolver.cstore().crates_untracked() { - let source = resolver.cstore().crate_source_untracked(cnum); - if let Some((path, _)) = source.dylib { - files.push(escape_dep_filename(&path.display().to_string())); - } - if let Some((path, _)) = source.rlib { - files.push(escape_dep_filename(&path.display().to_string())); - } - if let Some((path, _)) = source.rmeta { - files.push(escape_dep_filename(&path.display().to_string())); - } + for cnum in resolver.cstore().crates_untracked() { + let source = resolver.cstore().crate_source_untracked(cnum); + if let Some((path, _)) = source.dylib { + files.push(escape_dep_filename(&path.display().to_string())); } - }); + if let Some((path, _)) = source.rlib { + files.push(escape_dep_filename(&path.display().to_string())); + } + if let Some((path, _)) = source.rmeta { + files.push(escape_dep_filename(&path.display().to_string())); + } + } } let mut file = BufWriter::new(fs::File::create(&deps_filename)?); @@ -765,7 +762,7 @@ pub fn prepare_outputs( sess: &Session, compiler: &Compiler, krate: &ast::Crate, - boxed_resolver: &Steal<Rc<RefCell<BoxedResolver>>>, + resolver: &Resolver<'_>, crate_name: &str, ) -> Result<OutputFilenames> { let _timer = sess.timer("prepare_outputs"); @@ -805,7 +802,7 @@ pub fn prepare_outputs( } } - write_out_deps(sess, boxed_resolver, &outputs, &output_paths); + write_out_deps(sess, resolver, &outputs, &output_paths); let only_dep_info = sess.opts.output_types.contains_key(&OutputType::DepInfo) && sess.opts.output_types.len() == 1; |
