pub trait SyscallGenericLibfunc: Default {
const STR_ID: &'static str;
// Required methods
fn input_tys(
context: &dyn SignatureSpecializationContext,
) -> Result<Vec<ConcreteTypeId>, SpecializationError>;
fn success_output_tys(
context: &dyn SignatureSpecializationContext,
) -> Result<Vec<ConcreteTypeId>, SpecializationError>;
}
Expand description
Trait for implementing a library function for syscalls.
Required Associated Constants§
Required Methods§
Sourcefn input_tys(
context: &dyn SignatureSpecializationContext,
) -> Result<Vec<ConcreteTypeId>, SpecializationError>
fn input_tys( context: &dyn SignatureSpecializationContext, ) -> Result<Vec<ConcreteTypeId>, SpecializationError>
The non implicits inputs for the libfunc.
Sourcefn success_output_tys(
context: &dyn SignatureSpecializationContext,
) -> Result<Vec<ConcreteTypeId>, SpecializationError>
fn success_output_tys( context: &dyn SignatureSpecializationContext, ) -> Result<Vec<ConcreteTypeId>, SpecializationError>
The success case non implicits outputs of the libfunc.
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.