pub trait VmConfig<F: PrimeField32>:
Clone
+ Serialize
+ DeserializeOwned {
type Executor: InstructionExecutor<F> + AnyEnum + ChipUsageGetter;
type Periphery: AnyEnum + ChipUsageGetter;
// Required methods
fn system(&self) -> &SystemConfig;
fn system_mut(&mut self) -> &mut SystemConfig;
fn create_chip_complex(
&self,
) -> Result<VmChipComplex<F, Self::Executor, Self::Periphery>, VmInventoryError>;
}
Required Associated Types§
type Executor: InstructionExecutor<F> + AnyEnum + ChipUsageGetter
type Periphery: AnyEnum + ChipUsageGetter
Required Methods§
Sourcefn system(&self) -> &SystemConfig
fn system(&self) -> &SystemConfig
Must contain system config
fn system_mut(&mut self) -> &mut SystemConfig
fn create_chip_complex( &self, ) -> Result<VmChipComplex<F, Self::Executor, Self::Periphery>, VmInventoryError>
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.