Enum flowistry_pdg::rustc::mir::interpret::InterpError
source · pub enum InterpError<'tcx> {
UndefinedBehavior(UndefinedBehaviorInfo<'tcx>),
Unsupported(UnsupportedOpInfo),
InvalidProgram(InvalidProgramInfo<'tcx>),
ResourceExhaustion(ResourceExhaustionInfo),
MachineStop(Box<dyn MachineStopType, Global>),
}
Variants§
UndefinedBehavior(UndefinedBehaviorInfo<'tcx>)
The program caused undefined behavior.
Unsupported(UnsupportedOpInfo)
The program did something the interpreter does not support (some of these might be UB but the interpreter is not sure).
InvalidProgram(InvalidProgramInfo<'tcx>)
The program was invalid (ill-typed, bad MIR, not sufficiently monomorphized, …).
ResourceExhaustion(ResourceExhaustionInfo)
The program exhausted the interpreter’s resources (stack/heap too big, execution takes too long, …).
MachineStop(Box<dyn MachineStopType, Global>)
Stop execution for a machine-controlled reason. This is never raised by the core engine itself.
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for InterpError<'tcx>
impl<'tcx> !Send for InterpError<'tcx>
impl<'tcx> !Sync for InterpError<'tcx>
impl<'tcx> Unpin for InterpError<'tcx>
impl<'tcx> !UnwindSafe for InterpError<'tcx>
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