cairo_vm/vm/errors/
cairo_run_errors.rs

1use thiserror_no_std::Error;
2
3use super::cairo_pie_errors::CairoPieValidationError;
4use super::memory_errors::MemoryError;
5use super::vm_exception::VmException;
6use crate::types::errors::program_errors::ProgramError;
7use crate::vm::errors::{
8    runner_errors::RunnerError, trace_errors::TraceError, vm_errors::VirtualMachineError,
9};
10// In case you need to add a CairoRunError enum variant
11// Add it with #[error(transparent)]
12// If not it can cause some performance regressions, like in https://github.com/lambdaclass/cairo-vm/pull/1720
13#[derive(Debug, Error)]
14pub enum CairoRunError {
15    #[error(transparent)]
16    Program(#[from] ProgramError),
17    #[error(transparent)]
18    VirtualMachine(#[from] VirtualMachineError),
19    #[error(transparent)]
20    Trace(#[from] TraceError),
21    #[error(transparent)]
22    Runner(#[from] RunnerError),
23    #[error(transparent)]
24    MemoryError(#[from] MemoryError),
25    #[error(transparent)]
26    VmException(#[from] VmException),
27    #[error(transparent)]
28    CairoPieValidation(#[from] CairoPieValidationError),
29}