]> git.lizzy.rs Git - rust.git/commitdiff
Remove `untracked_crate` field and instead pass it along with the resolver.
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Mon, 5 Dec 2022 16:43:06 +0000 (16:43 +0000)
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Thu, 12 Jan 2023 17:14:17 +0000 (17:14 +0000)
compiler/rustc_ast_lowering/src/lib.rs
compiler/rustc_interface/src/passes.rs
compiler/rustc_middle/src/arena.rs
compiler/rustc_middle/src/query/mod.rs
compiler/rustc_middle/src/ty/context.rs

index 2e135aafb1e0f36856dce96b87ab3251424a6a50..41d4a5679f1a0b2822396af1256c20e5497350a0 100644 (file)
@@ -416,8 +416,7 @@ fn compute_hir_hash(
 
 pub fn lower_to_hir(tcx: TyCtxt<'_>, (): ()) -> hir::Crate<'_> {
     let sess = tcx.sess;
-    let krate = tcx.untracked_crate.steal();
-    let mut resolver = tcx.resolver_for_lowering(()).steal();
+    let (mut resolver, krate) = tcx.resolver_for_lowering(()).steal();
 
     let ast_index = index_crate(&resolver.node_id_to_def_id, &krate);
     let mut owners = IndexVec::from_fn_n(
index 82327af65e27343101be868d31dae9b8300f9d99..62441646b7579196f1a702e4289ca8ed23b70495 100644 (file)
@@ -818,7 +818,6 @@ pub fn create_global_ctxt<'tcx>(
                 arena,
                 hir_arena,
                 untracked,
-                krate,
                 dep_graph,
                 queries.on_disk_cache.as_ref().map(OnDiskCache::as_dyn),
                 queries.as_dyn(),
@@ -831,7 +830,9 @@ pub fn create_global_ctxt<'tcx>(
     let mut qcx = QueryContext { gcx };
     qcx.enter(|tcx| {
         let feed = tcx.feed_unit_query();
-        feed.resolver_for_lowering(tcx.arena.alloc(Steal::new(untracked_resolver_for_lowering)));
+        feed.resolver_for_lowering(
+            tcx.arena.alloc(Steal::new((untracked_resolver_for_lowering, krate))),
+        );
         feed.resolutions(tcx.arena.alloc(untracked_resolutions));
         let feed = tcx.feed_local_crate();
         feed.crate_name(crate_name);
index ca058cc3c6d8de5b56ddb482fc5b2c6dffa95d48..9ab2d4c2106a04e9fa3726eb219b5a9c58ab06e0 100644 (file)
@@ -30,7 +30,10 @@ macro_rules! arena_types {
             [decode] typeck_results: rustc_middle::ty::TypeckResults<'tcx>,
             [decode] borrowck_result:
                 rustc_middle::mir::BorrowCheckResult<'tcx>,
-            [] resolver: rustc_data_structures::steal::Steal<rustc_middle::ty::ResolverAstLowering>,
+            [] resolver: rustc_data_structures::steal::Steal<(
+                rustc_middle::ty::ResolverAstLowering,
+                rustc_data_structures::sync::Lrc<rustc_ast::Crate>,
+            )>,
             [] resolutions: rustc_middle::ty::ResolverGlobalCtxt,
             [decode] unsafety_check_result: rustc_middle::mir::UnsafetyCheckResult,
             [decode] code_region: rustc_middle::mir::coverage::CodeRegion,
index 0b551b5a48289db8563fb3450b5e647ee28e5d04..88048c9775cb29e8e592bf49c397d9d535820817 100644 (file)
@@ -32,7 +32,7 @@
         desc { "getting the resolver outputs" }
     }
 
-    query resolver_for_lowering(_: ()) -> &'tcx Steal<ty::ResolverAstLowering> {
+    query resolver_for_lowering(_: ()) -> &'tcx Steal<(ty::ResolverAstLowering, Lrc<ast::Crate>)> {
         feedable
         no_hash
         desc { "getting the resolver for lowering" }
index dbf8f4cbf3b4f20ca1fc93f8c663ef1ef529564e..60c7d9ad3d0c8e0cc4be320fb076924750084d48 100644 (file)
@@ -432,10 +432,6 @@ pub struct GlobalCtxt<'tcx> {
 
     untracked: Untracked,
 
-    /// The entire crate as AST. This field serves as the input for the hir_crate query,
-    /// which lowers it from AST to HIR. It must not be read or used by anything else.
-    pub untracked_crate: Steal<Lrc<ast::Crate>>,
-
     /// This provides access to the incremental compilation on-disk cache for query results.
     /// Do not access this directly. It is only meant to be used by
     /// `DepGraph::try_mark_green()` and the query infrastructure.
@@ -591,7 +587,6 @@ pub fn create_global_ctxt(
         arena: &'tcx WorkerLocal<Arena<'tcx>>,
         hir_arena: &'tcx WorkerLocal<hir::Arena<'tcx>>,
         untracked: Untracked,
-        krate: Lrc<ast::Crate>,
         dep_graph: DepGraph,
         on_disk_cache: Option<&'tcx dyn OnDiskCache<'tcx>>,
         queries: &'tcx dyn query::QueryEngine<'tcx>,
@@ -618,7 +613,6 @@ pub fn create_global_ctxt(
             lifetimes: common_lifetimes,
             consts: common_consts,
             untracked,
-            untracked_crate: Steal::new(krate),
             on_disk_cache,
             queries,
             query_caches: query::QueryCaches::default(),