rustc_middle::ty::inherent

Trait 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§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

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