rustc_middle::query::queries::typeck

Type Alias LocalKey

Source
pub type LocalKey<'tcx> = LocalDefId;

Aliased Type§

struct LocalKey<'tcx> {
    pub local_def_index: DefIndex,
}

Fields§

§local_def_index: DefIndex

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: 4 bytes

Implementations

Trait Implementations

Source§

impl Clone for LocalDefId

Source§

fn clone(&self) -> LocalDefId

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LocalDefId

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<D> Decodable<D> for LocalDefId
where D: SpanDecoder,

Source§

impl<'tcx> DepNodeParams<TyCtxt<'tcx>> for LocalDefId

Source§

fn fingerprint_style() -> FingerprintStyle

Source§

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).
Source§

fn to_debug_str(&self, tcx: TyCtxt<'tcx>) -> String

Source§

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<E> Encodable<E> for LocalDefId
where E: SpanEncoder,

Source§

fn encode(&self, s: &mut E)

Source§

impl EraseType for LocalDefId

Source§

type Result = [u8; 4]

Source§

impl From<LocalModDefId> for LocalDefId

Source§

fn from(typed: LocalModDefId) -> LocalDefId

Converts to this type from the input type.
Source§

impl Hash for LocalDefId

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<CTX> HashStable<CTX> for LocalDefId
where CTX: HashStableContext,

Source§

fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher<SipHasher128>)

Source§

impl Idx for LocalDefId

Source§

fn new(idx: usize) -> LocalDefId

Source§

fn index(self) -> usize

Source§

fn increment_by(&mut self, amount: usize)

Source§

fn plus(self, amount: usize) -> Self

Source§

impl IntoQueryParam<DefId> for LocalDefId

Source§

impl Key for LocalDefId

Source§

type Cache<V> = VecCache<LocalDefId, V, DepNodeIndex>

Source§

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>

If the key is a DefId or DefId–equivalent, return that DefId. Otherwise, return None.
Source§

fn def_id_for_ty_in_cycle(&self) -> Option<DefId>

Used to detect when ADT def ids are used as keys in a cycle for better error reporting.
Source§

impl PartialEq for LocalDefId

Source§

fn eq(&self, other: &LocalDefId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'tcx, D: TyDecoder<I = TyCtxt<'tcx>>> RefDecodable<'tcx, D> for LocalDefId

Source§

fn decode(decoder: &mut D) -> &'tcx Self

Source§

impl<CTX> ToStableHashKey<CTX> for LocalDefId
where CTX: HashStableContext,

Source§

impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalDefId

Source§

fn try_fold_with<F: FallibleTypeFolder<TyCtxt<'tcx>>>( self, _: &mut F, ) -> Result<Self, F::Error>

The entry point for folding. To fold a value t with a folder f call: t.try_fold_with(f). Read more
Source§

fn fold_with<F: TypeFolder<TyCtxt<'tcx>>>(self, _: &mut F) -> Self

A convenient alternative to try_fold_with for use with infallible folders. Do not override this method, to ensure coherence with try_fold_with.
Source§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDefId

Source§

fn visit_with<F: TypeVisitor<TyCtxt<'tcx>>>(&self, _: &mut F) -> F::Result

The entry point for visiting. To visit a value t with a visitor v call: t.visit_with(v). Read more
Source§

impl Copy for LocalDefId

Source§

impl Eq for LocalDefId

Source§

impl !Ord for LocalDefId

Source§

impl !PartialOrd for LocalDefId

Source§

impl StructuralPartialEq for LocalDefId