Trait rustc_query_impl::QueryConfig
source · pub trait QueryConfig<Qcx>where
Qcx: QueryContext,{
type Key: Eq + Hash + Clone + Debug;
type Value: Debug;
type Stored: Debug + Clone + Borrow<Self::Value>;
type Cache: QueryCache<Key = Self::Key, Stored = Self::Stored, Value = Self::Value>;
const NAME: &'static str;
fn query_state<'a>(tcx: Qcx) -> &'a QueryState<Self::Key>
where
Qcx: 'a;
fn query_cache<'a>(tcx: Qcx) -> &'a Self::Cache
where
Qcx: 'a;
fn make_vtable(
tcx: Qcx,
key: &Self::Key
) -> QueryVTable<Qcx, Self::Key, Self::Value>;
fn cache_on_disk(
tcx: <Qcx as HasDepContext>::DepContext,
key: &Self::Key
) -> bool;
fn execute_query(
tcx: <Qcx as HasDepContext>::DepContext,
k: Self::Key
) -> Self::Stored;
}