Type Alias rustc_middle::ty::GenericArgsRef

source ·
pub type GenericArgsRef<'tcx> = &'tcx GenericArgs<'tcx>;

Trait Implementations§

source§

impl<'tcx, D: TyDecoder<I = TyCtxt<'tcx>>> Decodable<D> for GenericArgsRef<'tcx>

source§

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

source§

impl<T> EraseType for &List<T>

§

type Result = [u8; 8]

source§

impl<'a, 'tcx, T> HashStable<StableHashingContext<'a>> for &'tcx List<T>where T: HashStable<StableHashingContext<'a>>,

source§

fn hash_stable( &self, hcx: &mut StableHashingContext<'a>, hasher: &mut StableHasher )

source§

impl<'a, T: Copy> IntoIterator for &'a List<T>

§

type Item = T

The type of the elements being iterated over.
§

type IntoIter = Copied<Iter<'a, T>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<'tcx> Key for GenericArgsRef<'tcx>

§

type CacheSelector = DefaultCacheSelector<&'tcx List<GenericArg<'tcx>>>

source§

fn default_span(&self, _: 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 ty_adt_id(&self) -> Option<DefId>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<GenericArg<'a>>

§

type Lifted = &'tcx List<GenericArg<'tcx>>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Relate<'tcx> for GenericArgsRef<'tcx>

source§

fn relate<R: TypeRelation<'tcx>>( relation: &mut R, a: GenericArgsRef<'tcx>, b: GenericArgsRef<'tcx> ) -> RelateResult<'tcx, GenericArgsRef<'tcx>>

source§

impl<'a, 'tcx, T> ToStableHashKey<StableHashingContext<'a>> for &'tcx List<T>where T: HashStable<StableHashingContext<'a>>,

source§

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

source§

fn try_fold_with<F: FallibleTypeFolder<TyCtxt<'tcx>>>( self, folder: &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>(self, folder: &mut F) -> Selfwhere F: TypeFolder<I>,

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, T: TypeVisitable<TyCtxt<'tcx>>> TypeVisitable<TyCtxt<'tcx>> for &'tcx List<T>

source§

fn visit_with<V: TypeVisitor<TyCtxt<'tcx>>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

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

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