mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
Remove untracked_crate
field and instead pass it along with the resolver.
This commit is contained in:
parent
194b4a2adb
commit
33b6a7790e
@ -416,8 +416,7 @@ fn compute_hir_hash(
|
|||||||
|
|
||||||
pub fn lower_to_hir(tcx: TyCtxt<'_>, (): ()) -> hir::Crate<'_> {
|
pub fn lower_to_hir(tcx: TyCtxt<'_>, (): ()) -> hir::Crate<'_> {
|
||||||
let sess = tcx.sess;
|
let sess = tcx.sess;
|
||||||
let krate = tcx.untracked_crate.steal();
|
let (mut resolver, krate) = tcx.resolver_for_lowering(()).steal();
|
||||||
let mut resolver = tcx.resolver_for_lowering(()).steal();
|
|
||||||
|
|
||||||
let ast_index = index_crate(&resolver.node_id_to_def_id, &krate);
|
let ast_index = index_crate(&resolver.node_id_to_def_id, &krate);
|
||||||
let mut owners = IndexVec::from_fn_n(
|
let mut owners = IndexVec::from_fn_n(
|
||||||
|
@ -818,7 +818,6 @@ pub fn create_global_ctxt<'tcx>(
|
|||||||
arena,
|
arena,
|
||||||
hir_arena,
|
hir_arena,
|
||||||
untracked,
|
untracked,
|
||||||
krate,
|
|
||||||
dep_graph,
|
dep_graph,
|
||||||
queries.on_disk_cache.as_ref().map(OnDiskCache::as_dyn),
|
queries.on_disk_cache.as_ref().map(OnDiskCache::as_dyn),
|
||||||
queries.as_dyn(),
|
queries.as_dyn(),
|
||||||
@ -831,7 +830,9 @@ pub fn create_global_ctxt<'tcx>(
|
|||||||
let mut qcx = QueryContext { gcx };
|
let mut qcx = QueryContext { gcx };
|
||||||
qcx.enter(|tcx| {
|
qcx.enter(|tcx| {
|
||||||
let feed = tcx.feed_unit_query();
|
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));
|
feed.resolutions(tcx.arena.alloc(untracked_resolutions));
|
||||||
let feed = tcx.feed_local_crate();
|
let feed = tcx.feed_local_crate();
|
||||||
feed.crate_name(crate_name);
|
feed.crate_name(crate_name);
|
||||||
|
@ -30,7 +30,10 @@ macro_rules! arena_types {
|
|||||||
[decode] typeck_results: rustc_middle::ty::TypeckResults<'tcx>,
|
[decode] typeck_results: rustc_middle::ty::TypeckResults<'tcx>,
|
||||||
[decode] borrowck_result:
|
[decode] borrowck_result:
|
||||||
rustc_middle::mir::BorrowCheckResult<'tcx>,
|
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,
|
[] resolutions: rustc_middle::ty::ResolverGlobalCtxt,
|
||||||
[decode] unsafety_check_result: rustc_middle::mir::UnsafetyCheckResult,
|
[decode] unsafety_check_result: rustc_middle::mir::UnsafetyCheckResult,
|
||||||
[decode] code_region: rustc_middle::mir::coverage::CodeRegion,
|
[decode] code_region: rustc_middle::mir::coverage::CodeRegion,
|
||||||
|
@ -32,7 +32,7 @@ rustc_queries! {
|
|||||||
desc { "getting the resolver outputs" }
|
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
|
feedable
|
||||||
no_hash
|
no_hash
|
||||||
desc { "getting the resolver for lowering" }
|
desc { "getting the resolver for lowering" }
|
||||||
|
@ -432,10 +432,6 @@ pub struct GlobalCtxt<'tcx> {
|
|||||||
|
|
||||||
untracked: Untracked,
|
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.
|
/// 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
|
/// Do not access this directly. It is only meant to be used by
|
||||||
/// `DepGraph::try_mark_green()` and the query infrastructure.
|
/// `DepGraph::try_mark_green()` and the query infrastructure.
|
||||||
@ -591,7 +587,6 @@ impl<'tcx> TyCtxt<'tcx> {
|
|||||||
arena: &'tcx WorkerLocal<Arena<'tcx>>,
|
arena: &'tcx WorkerLocal<Arena<'tcx>>,
|
||||||
hir_arena: &'tcx WorkerLocal<hir::Arena<'tcx>>,
|
hir_arena: &'tcx WorkerLocal<hir::Arena<'tcx>>,
|
||||||
untracked: Untracked,
|
untracked: Untracked,
|
||||||
krate: Lrc<ast::Crate>,
|
|
||||||
dep_graph: DepGraph,
|
dep_graph: DepGraph,
|
||||||
on_disk_cache: Option<&'tcx dyn OnDiskCache<'tcx>>,
|
on_disk_cache: Option<&'tcx dyn OnDiskCache<'tcx>>,
|
||||||
queries: &'tcx dyn query::QueryEngine<'tcx>,
|
queries: &'tcx dyn query::QueryEngine<'tcx>,
|
||||||
@ -618,7 +613,6 @@ impl<'tcx> TyCtxt<'tcx> {
|
|||||||
lifetimes: common_lifetimes,
|
lifetimes: common_lifetimes,
|
||||||
consts: common_consts,
|
consts: common_consts,
|
||||||
untracked,
|
untracked,
|
||||||
untracked_crate: Steal::new(krate),
|
|
||||||
on_disk_cache,
|
on_disk_cache,
|
||||||
queries,
|
queries,
|
||||||
query_caches: query::QueryCaches::default(),
|
query_caches: query::QueryCaches::default(),
|
||||||
|
Loading…
Reference in New Issue
Block a user