pub trait QueryContext: HasDepContext {
    fn next_job_id(&self) -> QueryJobId;
    fn current_query_job(&self) -> Option<QueryJobId>;
    fn try_collect_active_jobs(&self) -> Option<QueryMap>;
    fn load_side_effects(
        &self,
        prev_dep_node_index: SerializedDepNodeIndex
    ) -> QuerySideEffects; fn store_side_effects(
        &self,
        dep_node_index: DepNodeIndex,
        side_effects: QuerySideEffects
    ); fn store_side_effects_for_anon_node(
        &self,
        dep_node_index: DepNodeIndex,
        side_effects: QuerySideEffects
    ); fn start_query<R>(
        &self,
        token: QueryJobId,
        depth_limit: bool,
        diagnostics: Option<&Lock<ThinVec<Diagnostic>>>,
        compute: impl FnOnce() -> R
    ) -> R; fn depth_limit_error(&self, job: QueryJobId); }

Required Methods

Get the query information from the TLS context.

Load side effects associated to the node in the previous session.

Register diagnostics for the given node, for use in next session.

Register diagnostics for the given node, for use in next session.

Executes a job by changing the ImplicitCtxt to point to the new query job while it executes. It returns the diagnostics captured during execution and the actual result.

Implementors