Trait rustc_middle::ty::inherent::GenericArgs

source ·
pub trait GenericArgs<I>:
    Copy
    + Debug
    + Hash
    + Eq
    + SliceLike<Item = <I as Interner>::GenericArg>
    + Default
    + Relate<I>
where I: Interner<GenericArgs = Self>,
{ // Required methods fn rebase_onto( self, interner: I, source_def_id: <I as Interner>::DefId, target: Self, ) -> Self; fn type_at(self, i: usize) -> <I as Interner>::Ty; fn region_at(self, i: usize) -> <I as Interner>::Region; fn const_at(self, i: usize) -> <I as Interner>::Const; fn identity_for_item(interner: I, def_id: <I as Interner>::DefId) -> Self; fn extend_with_error( interner: I, def_id: <I as Interner>::DefId, original_args: &[<I as Interner>::GenericArg], ) -> Self; fn split_closure_args(self) -> ClosureArgsParts<I>; fn split_coroutine_closure_args(self) -> CoroutineClosureArgsParts<I>; fn split_coroutine_args(self) -> CoroutineArgsParts<I>; // Provided methods fn as_closure(self) -> ClosureArgs<I> { ... } fn as_coroutine_closure(self) -> CoroutineClosureArgs<I> { ... } fn as_coroutine(self) -> CoroutineArgs<I> { ... } }

Required Methods§

source

fn rebase_onto( self, interner: I, source_def_id: <I as Interner>::DefId, target: Self, ) -> Self

source

fn type_at(self, i: usize) -> <I as Interner>::Ty

source

fn region_at(self, i: usize) -> <I as Interner>::Region

source

fn const_at(self, i: usize) -> <I as Interner>::Const

source

fn identity_for_item(interner: I, def_id: <I as Interner>::DefId) -> Self

source

fn extend_with_error( interner: I, def_id: <I as Interner>::DefId, original_args: &[<I as Interner>::GenericArg], ) -> Self

source

fn split_closure_args(self) -> ClosureArgsParts<I>

source

fn split_coroutine_closure_args(self) -> CoroutineClosureArgsParts<I>

source

fn split_coroutine_args(self) -> CoroutineArgsParts<I>

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§

source§

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