Trait rustc_query_system::query::QueryConfig
source · pub trait QueryConfig<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::DepContext, key: &Self::Key) -> bool;
fn execute_query(tcx: Qcx::DepContext, k: Self::Key) -> Self::Stored;
}