pub enum VirtualMachineError {
Show 53 variants
RunnerError(RunnerError),
Memory(MemoryError),
Math(MathError),
TracerError(TraceError),
MainScopeError(ExecScopeError),
Other(Error),
InstructionNonZeroHighBit,
InvalidInstructionEncoding,
InvalidOp1Reg(u64),
ImmShouldBe1,
UnknownOp0,
InvalidApUpdate(u64),
InvalidPcUpdate(u64),
UnconstrainedResAdd,
UnconstrainedResJump,
UnconstrainedResJumpRel,
UnconstrainedResAssertEq,
JumpRelNotInt,
ComputeResRelocatableMul(Box<(MaybeRelocatable, MaybeRelocatable)>),
FailedToComputeOperands(Box<(String, Relocatable)>),
DiffAssertValues(Box<(MaybeRelocatable, MaybeRelocatable)>),
CantWriteReturnPc(Box<(MaybeRelocatable, MaybeRelocatable)>),
CantWriteReturnFp(Box<(MaybeRelocatable, MaybeRelocatable)>),
NoDst,
InvalidRes(u64),
InvalidOpcode(u64),
NotImplemented,
InconsistentAutoDeduction(Box<(&'static str, MaybeRelocatable, Option<MaybeRelocatable>)>),
InvalidHintEncoding(Box<MaybeRelocatable>),
NoRangeCheckBuiltin,
NoSignatureBuiltin,
OutOfValidRange(Box<(Felt252, Felt252)>),
DiffTypeComparison(Box<(MaybeRelocatable, MaybeRelocatable)>),
DiffIndexComp(Box<(Relocatable, Relocatable)>),
NoneInMemoryRange,
ExpectedIntAtRange(Box<Option<MaybeRelocatable>>),
SliceToArrayError,
CompileHintFail(Box<str>),
NoImm,
EndOfProgram(usize),
StepsLimit(u64),
UnfinishedExecution,
RunNotFinished,
InvalidArgCount(Box<(usize, usize)>),
CouldntParsePrime(Box<str>),
Hint(Box<(usize, HintError)>),
Unexpected,
OutOfBoundsBuiltinSegmentAccess,
OutOfBoundsProgramSegmentAccess,
InvalidMemoryValueTemporaryAddress(Box<Relocatable>),
MissingAccessedAddresses,
FailedToWriteOutput,
RelocationNotFound(usize),
}Variants§
RunnerError(RunnerError)
Memory(MemoryError)
Math(MathError)
TracerError(TraceError)
MainScopeError(ExecScopeError)
Other(Error)
InstructionNonZeroHighBit
InvalidInstructionEncoding
InvalidOp1Reg(u64)
ImmShouldBe1
UnknownOp0
InvalidApUpdate(u64)
InvalidPcUpdate(u64)
UnconstrainedResAdd
UnconstrainedResJump
UnconstrainedResJumpRel
UnconstrainedResAssertEq
JumpRelNotInt
ComputeResRelocatableMul(Box<(MaybeRelocatable, MaybeRelocatable)>)
FailedToComputeOperands(Box<(String, Relocatable)>)
DiffAssertValues(Box<(MaybeRelocatable, MaybeRelocatable)>)
CantWriteReturnPc(Box<(MaybeRelocatable, MaybeRelocatable)>)
CantWriteReturnFp(Box<(MaybeRelocatable, MaybeRelocatable)>)
NoDst
InvalidRes(u64)
InvalidOpcode(u64)
NotImplemented
InconsistentAutoDeduction(Box<(&'static str, MaybeRelocatable, Option<MaybeRelocatable>)>)
InvalidHintEncoding(Box<MaybeRelocatable>)
NoRangeCheckBuiltin
NoSignatureBuiltin
OutOfValidRange(Box<(Felt252, Felt252)>)
DiffTypeComparison(Box<(MaybeRelocatable, MaybeRelocatable)>)
DiffIndexComp(Box<(Relocatable, Relocatable)>)
NoneInMemoryRange
ExpectedIntAtRange(Box<Option<MaybeRelocatable>>)
SliceToArrayError
CompileHintFail(Box<str>)
NoImm
EndOfProgram(usize)
StepsLimit(u64)
UnfinishedExecution
RunNotFinished
InvalidArgCount(Box<(usize, usize)>)
CouldntParsePrime(Box<str>)
Hint(Box<(usize, HintError)>)
Unexpected
OutOfBoundsBuiltinSegmentAccess
OutOfBoundsProgramSegmentAccess
InvalidMemoryValueTemporaryAddress(Box<Relocatable>)
MissingAccessedAddresses
FailedToWriteOutput
RelocationNotFound(usize)
Trait Implementations§
source§impl Debug for VirtualMachineError
impl Debug for VirtualMachineError
source§impl Display for VirtualMachineError
impl Display for VirtualMachineError
source§impl Error for VirtualMachineError
impl Error for VirtualMachineError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<ExecScopeError> for VirtualMachineError
impl From<ExecScopeError> for VirtualMachineError
source§fn from(source: ExecScopeError) -> Self
fn from(source: ExecScopeError) -> Self
Converts to this type from the input type.
source§impl From<MathError> for VirtualMachineError
impl From<MathError> for VirtualMachineError
source§impl From<MemoryError> for VirtualMachineError
impl From<MemoryError> for VirtualMachineError
source§fn from(source: MemoryError) -> Self
fn from(source: MemoryError) -> Self
Converts to this type from the input type.
source§impl From<RunnerError> for VirtualMachineError
impl From<RunnerError> for VirtualMachineError
source§fn from(source: RunnerError) -> Self
fn from(source: RunnerError) -> Self
Converts to this type from the input type.
source§impl From<TraceError> for VirtualMachineError
impl From<TraceError> for VirtualMachineError
source§fn from(source: TraceError) -> Self
fn from(source: TraceError) -> Self
Converts to this type from the input type.
source§impl From<VirtualMachineError> for CairoRunError
impl From<VirtualMachineError> for CairoRunError
source§fn from(source: VirtualMachineError) -> Self
fn from(source: VirtualMachineError) -> Self
Converts to this type from the input type.
source§impl From<VirtualMachineError> for HintError
impl From<VirtualMachineError> for HintError
source§fn from(source: VirtualMachineError) -> Self
fn from(source: VirtualMachineError) -> Self
Converts to this type from the input type.
source§impl From<VirtualMachineError> for PublicInputError
impl From<VirtualMachineError> for PublicInputError
source§fn from(source: VirtualMachineError) -> Self
fn from(source: VirtualMachineError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for VirtualMachineError
impl Send for VirtualMachineError
impl Sync for VirtualMachineError
impl Unpin for VirtualMachineError
impl !UnwindSafe for VirtualMachineError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows
self, then passes self.as_mut() into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.