From 7a9aa4f9808fe37afb581ba54884612df2034a75 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Wed, 25 Nov 2020 15:08:31 -0500 Subject: [PATCH] Fix rebase fallout --- compiler/rustc_incremental/src/persist/load.rs | 9 +++++++-- compiler/rustc_middle/src/dep_graph/dep_node.rs | 7 ++++--- compiler/rustc_middle/src/dep_graph/mod.rs | 4 +++- compiler/rustc_middle/src/ty/query/on_disk_cache.rs | 8 +++++++- compiler/rustc_query_system/src/dep_graph/graph.rs | 2 +- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/compiler/rustc_incremental/src/persist/load.rs b/compiler/rustc_incremental/src/persist/load.rs index 8c9099ffd02..35428dc8d84 100644 --- a/compiler/rustc_incremental/src/persist/load.rs +++ b/compiler/rustc_incremental/src/persist/load.rs @@ -205,7 +205,10 @@ pub fn load_dep_graph(sess: &Session) -> DepGraphFuture { /// If we are not in incremental compilation mode, returns `None`. /// Otherwise, tries to load the query result cache from disk, /// creating an empty cache if it could not be loaded. -pub fn load_query_result_cache<'a>(sess: &'a Session, definitions: &Definitions) -> Option> { +pub fn load_query_result_cache<'a>( + sess: &'a Session, + definitions: &Definitions, +) -> Option> { if sess.opts.incremental.is_none() { return None; } @@ -217,7 +220,9 @@ pub fn load_query_result_cache<'a>(sess: &'a Session, definitions: &Definitions) &query_cache_path(sess), sess.is_nightly_build(), ) { - LoadResult::Ok { data: (bytes, start_pos) } => Some(OnDiskCache::new(sess, bytes, start_pos, definitions)), + LoadResult::Ok { data: (bytes, start_pos) } => { + Some(OnDiskCache::new(sess, bytes, start_pos, definitions)) + } _ => Some(OnDiskCache::new_empty(sess.source_map())), } } diff --git a/compiler/rustc_middle/src/dep_graph/dep_node.rs b/compiler/rustc_middle/src/dep_graph/dep_node.rs index e93253146e3..d954c8ab5fb 100644 --- a/compiler/rustc_middle/src/dep_graph/dep_node.rs +++ b/compiler/rustc_middle/src/dep_graph/dep_node.rs @@ -252,8 +252,7 @@ macro_rules! define_dep_nodes { /// has been removed. fn extract_def_id(&self, tcx: TyCtxt<'tcx>) -> Option { if self.kind.can_reconstruct_query_key() { - let def_path_hash = DefPathHash(self.hash); - tcx.queries.on_disk_cache.as_ref()?.def_path_hash_to_def_id(tcx, def_path_hash) + tcx.queries.on_disk_cache.as_ref()?.def_path_hash_to_def_id(tcx, DefPathHash(self.hash.into())) } else { None } @@ -326,7 +325,9 @@ impl<'tcx> DepNodeParams> for DefId { // we will use the old DefIndex as an initial guess for // a lookup into the crate metadata. if !self.is_local() { - tcx.queries.on_disk_cache.store_foreign_def_id_hash(*self, hash); + if let Some(cache) = &tcx.queries.on_disk_cache { + cache.store_foreign_def_id_hash(*self, hash); + } } hash.0 } diff --git a/compiler/rustc_middle/src/dep_graph/mod.rs b/compiler/rustc_middle/src/dep_graph/mod.rs index 4cd582f348e..a94f6d25fc7 100644 --- a/compiler/rustc_middle/src/dep_graph/mod.rs +++ b/compiler/rustc_middle/src/dep_graph/mod.rs @@ -92,7 +92,9 @@ impl<'tcx> DepContext for TyCtxt<'tcx> { type StableHashingContext = StableHashingContext<'tcx>; fn register_reused_dep_path_hash(&self, hash: DefPathHash) { - self.queries.on_disk_cache.register_reused_dep_path_hash(hash) + if let Some(cache) = self.queries.on_disk_cache.as_ref() { + cache.register_reused_dep_path_hash(hash) + } } fn create_stable_hashing_context(&self) -> Self::StableHashingContext { diff --git a/compiler/rustc_middle/src/ty/query/on_disk_cache.rs b/compiler/rustc_middle/src/ty/query/on_disk_cache.rs index b2b77b734aa..898cc24992b 100644 --- a/compiler/rustc_middle/src/ty/query/on_disk_cache.rs +++ b/compiler/rustc_middle/src/ty/query/on_disk_cache.rs @@ -862,7 +862,13 @@ impl<'a, 'tcx> Decodable> for DefId { // If we get to this point, then all of the query inputs were green, // which means that the definition with this hash is guaranteed to // still exist in the current compilation session. - Ok(d.tcx().queries.on_disk_cache.def_path_hash_to_def_id(d.tcx(), def_path_hash).unwrap()) + Ok(d.tcx() + .queries + .on_disk_cache + .as_ref() + .unwrap() + .def_path_hash_to_def_id(d.tcx(), def_path_hash) + .unwrap()) } } diff --git a/compiler/rustc_query_system/src/dep_graph/graph.rs b/compiler/rustc_query_system/src/dep_graph/graph.rs index cd81f481e69..ac37b296b53 100644 --- a/compiler/rustc_query_system/src/dep_graph/graph.rs +++ b/compiler/rustc_query_system/src/dep_graph/graph.rs @@ -709,7 +709,7 @@ impl DepGraph { // from the old incremental cache into the new cache that we serialize // and the end of this compilation session. if dep_node.kind.can_reconstruct_query_key() { - tcx.register_reused_dep_path_hash(DefPathHash(dep_node.hash)); + tcx.register_reused_dep_path_hash(DefPathHash(dep_node.hash.into())); } // ... emitting any stored diagnostic ...