Trait GenericArgs
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.