cairo_lang_sierra::extensions::lib_func

Trait SignatureOnlyGenericLibfunc

source
pub trait SignatureOnlyGenericLibfunc: Default {
    const STR_ID: &'static str;

    // Required method
    fn specialize_signature(
        &self,
        context: &dyn SignatureSpecializationContext,
        args: &[GenericArg],
    ) -> Result<LibfuncSignature, SpecializationError>;
}
Expand description

Trait for implementing a specialization generator not holding anything more than a signature.

Required Associated Constants§

source

const STR_ID: &'static str

Required Methods§

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.

Implementors§

source§

impl SignatureOnlyGenericLibfunc for ArrayNewLibfunc

source§

const STR_ID: &'static str = "array_new"

source§

impl SignatureOnlyGenericLibfunc for BoundedIntAddLibfunc

source§

const STR_ID: &'static str = "bounded_int_add"

source§

impl SignatureOnlyGenericLibfunc for BoundedIntIsZeroLibfunc

source§

const STR_ID: &'static str = "bounded_int_is_zero"

source§

impl SignatureOnlyGenericLibfunc for BoundedIntMulLibfunc

source§

const STR_ID: &'static str = "bounded_int_mul"

source§

impl SignatureOnlyGenericLibfunc for BoundedIntSubLibfunc

source§

const STR_ID: &'static str = "bounded_int_sub"

source§

impl SignatureOnlyGenericLibfunc for BoundedIntWrapNonZeroLibfunc

source§

const STR_ID: &'static str = "bounded_int_wrap_non_zero"

source§

impl SignatureOnlyGenericLibfunc for UpcastLibfunc

source§

const STR_ID: &'static str = "upcast"

source§

impl SignatureOnlyGenericLibfunc for DropLibfunc

source§

const STR_ID: &'static str = "drop"

source§

impl SignatureOnlyGenericLibfunc for DupLibfunc

source§

const STR_ID: &'static str = "dup"

source§

impl SignatureOnlyGenericLibfunc for EnumMatchLibfunc

source§

const STR_ID: &'static str = "enum_match"

source§

impl SignatureOnlyGenericLibfunc for EnumSnapshotMatchLibfunc

source§

const STR_ID: &'static str = "enum_snapshot_match"

source§

impl SignatureOnlyGenericLibfunc for Felt252DictNewLibfunc

source§

const STR_ID: &'static str = "felt252_dict_new"

source§

impl SignatureOnlyGenericLibfunc for Felt252DictSquashLibfunc

source§

const STR_ID: &'static str = "felt252_dict_squash"

source§

impl SignatureOnlyGenericLibfunc for RenameLibfunc

source§

const STR_ID: &'static str = "rename"

source§

impl SignatureOnlyGenericLibfunc for UnwrapNonZeroLibfunc

source§

const STR_ID: &'static str = "unwrap_non_zero"

source§

impl SignatureOnlyGenericLibfunc for NullLibfunc

source§

const STR_ID: &'static str = "null"

source§

impl SignatureOnlyGenericLibfunc for IntRangePopFrontLibfunc

source§

const STR_ID: &'static str = "int_range_pop_front"

source§

impl SignatureOnlyGenericLibfunc for IntRangeTryNewLibfunc

source§

const STR_ID: &'static str = "int_range_try_new"

source§

impl SignatureOnlyGenericLibfunc for SnapshotTakeLibfunc

source§

const STR_ID: &'static str = "snapshot_take"

source§

impl SignatureOnlyGenericLibfunc for StructConstructLibfunc

source§

const STR_ID: &'static str = "struct_construct"

source§

impl SignatureOnlyGenericLibfunc for StructDeconstructLibfunc

source§

const STR_ID: &'static str = "struct_deconstruct"

source§

impl SignatureOnlyGenericLibfunc for StructSnapshotDeconstructLibfunc

source§

const STR_ID: &'static str = "struct_snapshot_deconstruct"

source§

impl<T: NoGenericArgsGenericLibfunc> SignatureOnlyGenericLibfunc for T

source§

const STR_ID: &'static str = <Self as NoGenericArgsGenericLibfunc>::STR_ID