Enum rustc_middle::mir::interpret::InterpError[−][src]

pub enum InterpError<'tcx> {
    UndefinedBehavior(UndefinedBehaviorInfo<'tcx>),
    Unsupported(UnsupportedOpInfo),
    InvalidProgram(InvalidProgramInfo<'tcx>),
    ResourceExhaustion(ResourceExhaustionInfo),
    MachineStop(Box<dyn MachineStopType>),
}

Variants

UndefinedBehavior(UndefinedBehaviorInfo<'tcx>)
Expand description

The program caused undefined behavior.

Unsupported(UnsupportedOpInfo)
Expand description

The program did something the interpreter does not support (some of these might be UB but the interpreter is not sure).

InvalidProgram(InvalidProgramInfo<'tcx>)
Expand description

The program was invalid (ill-typed, bad MIR, not sufficiently monomorphized, …).

ResourceExhaustion(ResourceExhaustionInfo)
Expand description

The program exhausted the interpreter’s resources (stack/heap too big, execution takes too long, …).

MachineStop(Box<dyn MachineStopType>)
Expand description

Stop execution for a machine-controlled reason. This is never raised by the core engine itself.

Implementations

impl InterpError<'_>[src]

pub fn formatted_string(&self) -> bool[src]

Some errors to string formatting even if the error is never printed. To avoid performance issues, there are places where we want to be sure to never raise these formatting errors, so this method lets us detect them and bug! on unexpected errors.

Trait Implementations

impl Debug for InterpError<'_>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Display for InterpError<'_>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'tcx> From<InterpError<'tcx>> for InterpErrorInfo<'tcx>[src]

fn from(kind: InterpError<'tcx>) -> Self[src]

Performs the conversion.

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

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> MaybeResult<T> for T[src]

type Error = !

pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]

pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]

impl<T> ToString for T where
    T: Display + ?Sized, 
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> WithConstness for T[src]

fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]

fn with_const(self) -> ConstnessAnd<Self>[src]

fn without_const(self) -> ConstnessAnd<Self>[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized, 
[src]