rustc_trait_selection::infer::canonical::ir::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§