Type Alias rustc_middle::query::queries::hir_owner_parent::ProvidedValue
source · pub type ProvidedValue<'tcx> = HirId;Expand description
This type alias specifies the type returned from query providers and the type
used for decoding. For regular queries this is the declared returned type V,
but arena_cache will use <V as Deref>::Target instead.
Aliased Type§
struct ProvidedValue<'tcx> {
pub owner: OwnerId,
pub local_id: ItemLocalId,
}Fields§
§owner: OwnerId§local_id: ItemLocalIdTrait Implementations§
source§impl<'tcx> DepNodeParams<TyCtxt<'tcx>> for HirId
impl<'tcx> DepNodeParams<TyCtxt<'tcx>> for HirId
fn fingerprint_style() -> FingerprintStyle
source§fn to_fingerprint(&self, tcx: TyCtxt<'tcx>) -> Fingerprint
fn to_fingerprint(&self, tcx: TyCtxt<'tcx>) -> Fingerprint
This method turns the parameters of a DepNodeConstructor into an opaque
Fingerprint to be used in DepNode.
Not all DepNodeParams support being turned into a Fingerprint (they
don’t need to if the corresponding DepNode is anonymous).
fn to_debug_str(&self, tcx: TyCtxt<'tcx>) -> String
source§fn recover(tcx: TyCtxt<'tcx>, dep_node: &DepNode) -> Option<Self>
fn recover(tcx: TyCtxt<'tcx>, dep_node: &DepNode) -> Option<Self>
This method tries to recover the query key from the given
DepNode,
something which is needed when forcing DepNodes during red-green
evaluation. The query system will only call this method if
fingerprint_style() is not FingerprintStyle::Opaque.
It is always valid to return None here, in which case incremental
compilation will treat the query as having changed instead of forcing it.source§impl Key for HirId
impl Key for HirId
type CacheSelector = DefaultCacheSelector<HirId>
source§fn default_span(&self, tcx: TyCtxt<'_>) -> Span
fn default_span(&self, tcx: TyCtxt<'_>) -> Span
In the event that a cycle occurs, if no explicit span has been
given for a query with key
self, what span should we use?source§fn key_as_def_id(&self) -> Option<DefId>
fn key_as_def_id(&self) -> Option<DefId>
fn ty_adt_id(&self) -> Option<DefId>
source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for HirId
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for HirId
source§fn try_fold_with<F: FallibleTypeFolder<TyCtxt<'tcx>>>(
self,
_: &mut F
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<TyCtxt<'tcx>>>( self, _: &mut F ) -> Result<Self, F::Error>
source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for HirId
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for HirId
source§fn visit_with<F: TypeVisitor<TyCtxt<'tcx>>>(
&self,
_: &mut F
) -> ControlFlow<F::BreakTy>
fn visit_with<F: TypeVisitor<TyCtxt<'tcx>>>( &self, _: &mut F ) -> ControlFlow<F::BreakTy>
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:8 bytes