## GenericArgsRef

# Type Alias GenericArgsRef

Source

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

## Trait Implementations§

Source§

### impl<'tcx, D: TyDecoder<'tcx>> Decodable<D> for GenericArgsRef<'tcx>

Source§

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

Source§

### impl<'tcx> GenericArgs<TyCtxt<'tcx>> for GenericArgsRef<'tcx>

Source§

#### fn rebase_onto( self, tcx: TyCtxt<'tcx>, source_ancestor: DefId, target_args: GenericArgsRef<'tcx>, ) -> GenericArgsRef<'tcx>

Source§

#### fn type_at(self, i: usize) -> Ty<'tcx>

Source§

#### fn region_at(self, i: usize) -> Region<'tcx>

Source§

#### fn const_at(self, i: usize) -> Const<'tcx>

Source§

#### fn identity_for_item(tcx: TyCtxt<'tcx>, def_id: DefId) -> GenericArgsRef<'tcx>

Source§

#### fn extend_with_error( tcx: TyCtxt<'tcx>, def_id: DefId, original_args: &[GenericArg<'tcx>], ) -> GenericArgsRef<'tcx>

Source§

#### fn split_closure_args(self) -> ClosureArgsParts<TyCtxt<'tcx>>

Source§

#### fn split_coroutine_closure_args(self) -> CoroutineClosureArgsParts<TyCtxt<'tcx>>

Source§

#### fn split_coroutine_args(self) -> CoroutineArgsParts<TyCtxt<'tcx>>

Source§

#### fn as_closure(self) -> ClosureArgs<I>

Source§

#### fn as_coroutine_closure(self) -> CoroutineClosureArgs<I>

Source§

#### fn as_coroutine(self) -> CoroutineArgs<I>

Source§

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

Source§

#### type Cache<V> = DefaultCache<&'tcx RawList<(), GenericArg<'tcx>>, V>

The type of in-memory cache to use for queries with this key type. Read more
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 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<'tcx> Relate<TyCtxt<'tcx>> for GenericArgsRef<'tcx>

Source§

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

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: TypeFolder<TyCtxt<'tcx>>>(self, folder: &mut F) -> Self

The entry point for folding. To fold a value `t` with a folder `f` call: `t.fold_with(f)`. 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