openvm_circuit::arch

Trait VmConfig

Source
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§

Required Methods§

Source

fn system(&self) -> &SystemConfig

Must contain system config

Source

fn system_mut(&mut self) -> &mut SystemConfig

Source

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.

Implementors§