Re-exportsยง
use std::hash::Hash;๐use std::hash::Hash;๐use std::mem::ManuallyDrop;๐use std::num::NonZero;๐use std::sync::Arc;๐use parking_lot::Condvar;๐use parking_lot::Mutex;๐use rustc_data_structures::hash_table::Entry;๐use rustc_data_structures::defer;๐use rustc_data_structures::outline;๐use rustc_data_structures::sharded;๐use rustc_data_structures::sync;๐use rustc_errors::FatalError;๐use rustc_middle::dep_graph::DepGraphData;๐use rustc_middle::dep_graph::DepNode;๐use rustc_middle::dep_graph::DepNodeIndex;๐use rustc_middle::dep_graph::DepNodeKey;๐use rustc_middle::dep_graph::SerializedDepNodeIndex;๐use rustc_middle::query::ActiveKeyStatus;๐use rustc_middle::query::QueryCache;๐use rustc_middle::query::QueryCycle;๐use rustc_middle::query::QueryJob;๐use rustc_middle::query::QueryJobId;๐use rustc_middle::query::QueryLatch;๐use rustc_middle::query::QueryMode;๐use rustc_middle::query::QueryState;๐use rustc_middle::query::QueryVTable;๐use rustc_middle::query::QueryWaiter;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::tls;๐use rustc_middle::ty::tls::ImplicitCtxt;๐use rustc_middle::verify_ich::incremental_verify_ich;๐use rustc_span::def_id::LOCAL_CRATE;๐use rustc_span::DUMMY_SP;๐use rustc_span::Span;๐use rustc_structures::Limit;๐use crate::diagnostics::QueryOverflow;๐use crate::diagnostics::QueryOverflowNote;๐use crate::handle_cycle_error;๐use crate::incremental::should_verify_loaded_value;๐use crate::job::CollectActiveJobsKind;๐use crate::job::collect_active_query_jobs;๐use crate::job::find_cycle_in_stack;๐use crate::job::find_dep_kind_root;๐
Structsยง
- Active
JobGuard ๐ - Guard object representing the responsibility to execute a query job and mark it as completed.
Functionsยง
- check_
feedable_ ๐consistency - current_
query_ ๐job - depth_
limit_ ๐error - ensure_
can_ ๐skip_ execution - Checks whether a
tcx.ensure_ok()query call can return early without actually trying to execute. - equivalent_
key ๐ - execute_
job_ ๐incr - execute_
job_ ๐non_ incr - execute_
query_ ๐incr_ inner - Called by a macro-generated impl of
QueryVTable::execute_query_fn, in incremental mode. - execute_
query_ ๐non_ incr_ inner - Called by a macro-generated impl of
QueryVTable::execute_query_fn, in non-incremental mode. - find_
and_ ๐handle_ cycle - force_
query_ ๐dep_ node - Inner implementation of
DepKindVTable::force_from_dep_node_fnfor query nodes. - handle_
cycle ๐ - latch_
wait_ ๐on - Awaits for the query job to complete.
- load_
from_ ๐disk_ or_ invoke_ provider_ green - Given that the dep node for this query+key is green, obtain a value for it by loading one from disk if possible, or by invoking its query provider if necessary.
- next_
job_ ๐id - signal_
complete ๐ - Signals to waiters that the query is complete.
- start_
query ๐ - Executes a job by changing the
ImplicitCtxtto point to the new query job while it executes. - try_
execute_ ๐query - Shared main part of both
execute_query_incr_innerandexecute_query_non_incr_inner. - wait_
for_ ๐query