diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2021-03-30 18:17:14 +0200 |
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2021-05-02 18:00:20 +0200 |
| commit | 0447f91e10d4f95ef2ff35b253e1964ed7c5f9fc (patch) | |
| tree | 7a29f37d68c81f480fc92f22182aab373b22aed6 /compiler/rustc_interface/src | |
| parent | 18d1b3f3ebb8a5c5fb9a58122f6eaab63d09ec4e (diff) | |
| download | rust-0447f91e10d4f95ef2ff35b253e1964ed7c5f9fc.tar.gz rust-0447f91e10d4f95ef2ff35b253e1964ed7c5f9fc.zip | |
Let load_query_result_cache take a &DefPathTable
This allows removing a confusing mem::replace in create_global_ctxt
Diffstat (limited to 'compiler/rustc_interface/src')
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 94be7a03a93..94864256be2 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -13,7 +13,6 @@ use rustc_data_structures::{box_region_allow_access, declare_box_region_type, pa use rustc_errors::{ErrorReported, PResult}; use rustc_expand::base::ExtCtxt; use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; -use rustc_hir::definitions::Definitions; use rustc_hir::Crate; use rustc_index::vec::IndexVec; use rustc_lint::LintStore; @@ -51,7 +50,7 @@ use std::io::{self, BufWriter, Write}; use std::lazy::SyncLazy; use std::path::PathBuf; use std::rc::Rc; -use std::{env, fs, iter, mem}; +use std::{env, fs, iter}; pub fn parse<'a>(sess: &'a Session, input: &Input) -> PResult<'a, ast::Crate> { let krate = sess.time("parse_crate", || match input { @@ -761,7 +760,7 @@ pub fn create_global_ctxt<'tcx>( lint_store: Lrc<LintStore>, krate: &'tcx Crate<'tcx>, dep_graph: DepGraph, - mut resolver_outputs: ResolverOutputs, + resolver_outputs: ResolverOutputs, outputs: OutputFilenames, crate_name: &str, queries: &'tcx OnceCell<TcxQueries<'tcx>>, @@ -769,12 +768,10 @@ pub fn create_global_ctxt<'tcx>( arena: &'tcx WorkerLocal<Arena<'tcx>>, ) -> QueryContext<'tcx> { let sess = &compiler.session(); - let defs: &'tcx Definitions = arena.alloc(mem::replace( - &mut resolver_outputs.definitions, - Definitions::new(crate_name, sess.local_crate_disambiguator()), - )); - let query_result_on_disk_cache = rustc_incremental::load_query_result_cache(sess, defs); + let def_path_table = resolver_outputs.definitions.def_path_table(); + let query_result_on_disk_cache = + rustc_incremental::load_query_result_cache(sess, def_path_table); let codegen_backend = compiler.codegen_backend(); let mut local_providers = *DEFAULT_QUERY_PROVIDERS; @@ -804,7 +801,6 @@ pub fn create_global_ctxt<'tcx>( arena, resolver_outputs, krate, - defs, dep_graph, query_result_on_disk_cache, queries.as_dyn(), |
