Struct rustc_query_impl::queries::type_of
source · pub struct type_of<'tcx> {
data: PhantomData<&'tcx ()>,
}Fields§
§data: PhantomData<&'tcx ()>Trait Implementations§
source§impl<'tcx> QueryConfig<QueryCtxt<'tcx>> for type_of<'tcx>
impl<'tcx> QueryConfig<QueryCtxt<'tcx>> for type_of<'tcx>
type Key = DefId
type Value = Erased<impl Copy>
fn name(self) -> &'static str
fn format_value(self) -> fn(_: &Self::Value) -> String
fn cache_on_disk(self, tcx: TyCtxt<'tcx>, key: &Self::Key) -> bool
type Cache = DefaultCache<DefId, Erased<impl Copy>>
fn query_state<'a>( self, tcx: QueryCtxt<'tcx> ) -> &'a QueryState<Self::Key, DepKind>where QueryCtxt<'tcx>: 'a,
fn query_cache<'a>(self, tcx: QueryCtxt<'tcx>) -> &'a Self::Cachewhere 'tcx: 'a,
fn execute_query(self, tcx: TyCtxt<'tcx>, key: Self::Key) -> Self::Value
fn compute(self, qcx: QueryCtxt<'tcx>, key: Self::Key) -> Self::Value
fn try_load_from_disk( self, _qcx: QueryCtxt<'tcx>, _key: &Self::Key ) -> TryLoadFromDisk<QueryCtxt<'tcx>, Self::Value>
fn loadable_from_disk( self, _qcx: QueryCtxt<'tcx>, _key: &Self::Key, _index: SerializedDepNodeIndex ) -> bool
source§fn value_from_cycle_error(
self,
tcx: TyCtxt<'tcx>,
cycle: &[QueryInfo<DepKind>]
) -> Self::Value
fn value_from_cycle_error( self, tcx: TyCtxt<'tcx>, cycle: &[QueryInfo<DepKind>] ) -> Self::Value
Synthesize an error value to let compilation continue after a cycle.
fn anon(self) -> bool
fn eval_always(self) -> bool
fn depth_limit(self) -> bool
fn feedable(self) -> bool
fn dep_kind(self) -> DepKind
fn handle_cycle_error(self) -> HandleCycleError
fn hash_result(self) -> HashResult<Self::Value>
fn construct_dep_node( self, tcx: <Qcx as HasDepContext>::DepContext, key: &Self::Key ) -> DepNode<<Qcx as HasDepContext>::DepKind>
source§impl<'tcx> QueryConfigRestored<'tcx> for type_of<'tcx>
impl<'tcx> QueryConfigRestored<'tcx> for type_of<'tcx>
type RestoredValue = EarlyBinder<Ty<'tcx>>
fn restore(value: Erased<impl Copy>) -> Self::RestoredValue
impl<'tcx> Copy for type_of<'tcx>
Auto Trait Implementations§
impl<'tcx> RefUnwindSafe for type_of<'tcx>
impl<'tcx> Send for type_of<'tcx>
impl<'tcx> Sync for type_of<'tcx>
impl<'tcx> Unpin for type_of<'tcx>
impl<'tcx> UnwindSafe for type_of<'tcx>
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes