cairo_vm/vm/errors/
trace_errors.rs

1use thiserror_no_std::Error;
2
3use crate::vm::errors::memory_errors::MemoryError;
4
5#[derive(Debug, PartialEq, Error)]
6pub enum TraceError {
7    #[error("Trace is not enabled for this run")]
8    TraceNotEnabled,
9    #[error("Trace is already relocated")]
10    AlreadyRelocated,
11    #[error("No relocation found for execution segment")]
12    NoRelocationFound,
13    #[error(transparent)]
14    MemoryError(#[from] MemoryError),
15    #[error("Trace not relocated")]
16    TraceNotRelocated,
17}
18
19#[cfg(test)]
20mod tests {
21    use super::*;
22
23    #[test]
24    // Test to catch possible enum size regressions
25    fn test_trace_error_size() {
26        let size = crate::stdlib::mem::size_of::<TraceError>();
27        assert!(size <= 24, "{size}")
28    }
29}