Enum cairo_lang_sierra::extensions::modules::enm::EnumLibfunc
source · pub enum EnumLibfunc {
Init(EnumInitLibfunc),
Match(EnumMatchLibfunc),
SnapshotMatch(EnumSnapshotMatchLibfunc),
}
Variants§
Trait Implementations§
source§impl GenericLibfunc for EnumLibfunc
impl GenericLibfunc for EnumLibfunc
type Concrete = EnumConcreteLibfunc
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 EnumLibfunc
impl Send for EnumLibfunc
impl Sync for EnumLibfunc
impl Unpin for EnumLibfunc
impl UnwindSafe for EnumLibfunc
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