cairo_lang_sierra::extensions::lib_func

Trait ConcreteLibfunc

source
pub trait ConcreteLibfunc {
    // Required methods
    fn param_signatures(&self) -> &[ParamSignature];
    fn branch_signatures(&self) -> &[BranchSignature];
    fn fallthrough(&self) -> Option<usize>;

    // Provided method
    fn output_types(&self) -> Vec<Vec<ConcreteTypeId>> { ... }
}
Expand description

Trait for a specialized library function.

Required Methods§

source

fn param_signatures(&self) -> &[ParamSignature]

The parameter types and other information for the parameters for calling a library function.

source

fn branch_signatures(&self) -> &[BranchSignature]

The output types and other information returning from a library function per branch.

source

fn fallthrough(&self) -> Option<usize>

The index of the fallthrough branch of the library function if any.

Provided Methods§

source

fn output_types(&self) -> Vec<Vec<ConcreteTypeId>>

Returns the output types returning from a library function per branch.

Implementors§

source§

impl ConcreteLibfunc for CoreConcreteLibfunc

source§

impl ConcreteLibfunc for ApTrackingConcreteLibfunc

source§

impl ConcreteLibfunc for ArrayConcreteLibfunc

source§

impl ConcreteLibfunc for BoolConcreteLibfunc

source§

impl ConcreteLibfunc for BoundedIntConcreteLibfunc

source§

impl ConcreteLibfunc for BoxConcreteLibfunc

source§

impl ConcreteLibfunc for Bytes31ConcreteLibfunc

source§

impl ConcreteLibfunc for CastConcreteLibfunc

source§

impl ConcreteLibfunc for CircuitConcreteLibfunc

source§

impl ConcreteLibfunc for ConstConcreteLibfunc

source§

impl ConcreteLibfunc for CouponConcreteLibfunc

source§

impl ConcreteLibfunc for DebugConcreteLibfunc

source§

impl ConcreteLibfunc for EcConcreteLibfunc

source§

impl ConcreteLibfunc for EnumConcreteLibfunc

source§

impl ConcreteLibfunc for Felt252BinaryOperationConcrete

source§

impl ConcreteLibfunc for Felt252Concrete

source§

impl ConcreteLibfunc for Felt252DictConcreteLibfunc

source§

impl ConcreteLibfunc for Felt252DictEntryConcreteLibfunc

source§

impl ConcreteLibfunc for GasConcreteLibfunc

source§

impl ConcreteLibfunc for Sint128Concrete

source§

impl ConcreteLibfunc for Uint128Concrete

source§

impl ConcreteLibfunc for Uint256Concrete

source§

impl ConcreteLibfunc for Uint512Concrete

source§

impl ConcreteLibfunc for MemConcreteLibfunc

source§

impl ConcreteLibfunc for NullableConcreteLibfunc

source§

impl ConcreteLibfunc for PedersenConcreteLibfunc

source§

impl ConcreteLibfunc for PoseidonConcreteLibfunc

source§

impl ConcreteLibfunc for StarkNetConcreteLibfunc

source§

impl ConcreteLibfunc for Secp256ConcreteLibfunc

source§

impl ConcreteLibfunc for TestingConcreteLibfunc

source§

impl ConcreteLibfunc for StructConcreteLibfunc

source§

impl<T: Secp256Trait> ConcreteLibfunc for Secp256OpConcreteLibfunc<T>

source§

impl<TSignatureBasedConcreteLibfunc: SignatureBasedConcreteLibfunc> ConcreteLibfunc for TSignatureBasedConcreteLibfunc

source§

impl<TSintTraits: SintTraits + IntMulTraits + IsZeroTraits> ConcreteLibfunc for SintConcrete<TSintTraits>

source§

impl<TUintTraits: UintTraits + IntMulTraits + IsZeroTraits> ConcreteLibfunc for UintConcrete<TUintTraits>