pub struct GenericFunctionTemplate {
pub name: String,
pub type_params: Vec<TypeParameter>,
pub constraints: Vec<TypeConstraint>,
pub template_ir: IrModule,
pub default_impls: HashMap<Vec<TypeKind>, IrModule>,
pub metadata: TemplateMetadata,
}Expand description
Template for a generic function
Fields§
§name: StringFunction name
type_params: Vec<TypeParameter>Generic type parameters
constraints: Vec<TypeConstraint>Function constraints (bounds on type parameters)
template_ir: IrModuleTemplate IR module (with placeholder types)
default_impls: HashMap<Vec<TypeKind>, IrModule>Default implementations for specific type combinations
metadata: TemplateMetadataMetadata about the template
Trait Implementations§
Source§impl Clone for GenericFunctionTemplate
impl Clone for GenericFunctionTemplate
Source§fn clone(&self) -> GenericFunctionTemplate
fn clone(&self) -> GenericFunctionTemplate
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GenericFunctionTemplate
impl RefUnwindSafe for GenericFunctionTemplate
impl Send for GenericFunctionTemplate
impl Sync for GenericFunctionTemplate
impl Unpin for GenericFunctionTemplate
impl UnsafeUnpin for GenericFunctionTemplate
impl UnwindSafe for GenericFunctionTemplate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more