Enum cairo_lang_sierra::extensions::modules::casts::CastLibfunc
source · pub enum CastLibfunc {
Downcast(DowncastLibfunc),
Upcast(UpcastLibfunc),
}
Variants§
Downcast(DowncastLibfunc)
Upcast(UpcastLibfunc)
Trait Implementations§
source§impl GenericLibfunc for CastLibfunc
impl GenericLibfunc for CastLibfunc
type Concrete = CastConcreteLibfunc
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 CastLibfunc
impl Send for CastLibfunc
impl Sync for CastLibfunc
impl Unpin for CastLibfunc
impl UnwindSafe for CastLibfunc
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