pub enum StructLibfunc {
Construct(StructConstructLibfunc),
Deconstruct(StructDeconstructLibfunc),
SnapshotDeconstruct(StructSnapshotDeconstructLibfunc),
}
Variants§
Construct(StructConstructLibfunc)
Deconstruct(StructDeconstructLibfunc)
SnapshotDeconstruct(StructSnapshotDeconstructLibfunc)
Trait Implementations§
source§impl GenericLibfunc for StructLibfunc
impl GenericLibfunc for StructLibfunc
type Concrete = StructConcreteLibfunc
source§fn supported_ids() -> Vec<GenericLibfuncId>
fn supported_ids() -> Vec<GenericLibfuncId>
Returns the list of generic libfuncs ids that can be instantiated through this type.
This is useful on hierarchical libfunc aggregates such as
CoreLibfunc
.source§fn by_id(id: &GenericLibfuncId) -> Option<Self>
fn by_id(id: &GenericLibfuncId) -> Option<Self>
Instantiates the libfunc by id.
source§fn specialize_signature(
&self,
context: &dyn SignatureSpecializationContext,
args: &[GenericArg]
) -> Result<LibfuncSignature, SpecializationError>
fn specialize_signature( &self, context: &dyn SignatureSpecializationContext, args: &[GenericArg] ) -> Result<LibfuncSignature, SpecializationError>
Creates the specialization of the libfunc’s signature with the template arguments.
source§fn specialize(
&self,
context: &dyn SpecializationContext,
args: &[GenericArg]
) -> Result<Self::Concrete, SpecializationError>
fn specialize( &self, context: &dyn SpecializationContext, args: &[GenericArg] ) -> Result<Self::Concrete, SpecializationError>
Creates the specialization with the template arguments.
Auto Trait Implementations§
impl RefUnwindSafe for StructLibfunc
impl Send for StructLibfunc
impl Sync for StructLibfunc
impl Unpin for StructLibfunc
impl UnwindSafe for StructLibfunc
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