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