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

pub enum InvalidProgramInfo<'tcx> {
    TooGeneric,
    ReferencedConstant,
    AlreadyReported(ErrorReported),
    Layout(LayoutError<'tcx>),
    TransmuteSizeDiff(Ty<'tcx>, Ty<'tcx>),
    SizeOfUnsizedType(Ty<'tcx>),
}
Expand description

Error information for when the program we executed turned out not to actually be a valid program. This cannot happen in stand-alone Miri, but it can happen during CTFE/ConstProp where we work on generic code or execution does not have all information available.

Variants

TooGeneric
Expand description

Resolution can fail if we are in a too generic context.

ReferencedConstant
Expand description

Cannot compute this constant because it depends on another one which already produced an error.

AlreadyReported(ErrorReported)
Expand description

Abort in case errors are already reported.

Layout(LayoutError<'tcx>)
Expand description

An error occurred during layout computation.

TransmuteSizeDiff(Ty<'tcx>, Ty<'tcx>)
Expand description

An invalid transmute happened.

SizeOfUnsizedType(Ty<'tcx>)
Expand description

SizeOf of unsized type was requested.

Trait Implementations

impl Display for InvalidProgramInfo<'_>[src]

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for InvalidProgramInfo<'tcx>

impl<'tcx> !Send for InvalidProgramInfo<'tcx>

impl<'tcx> !Sync for InvalidProgramInfo<'tcx>

impl<'tcx> Unpin for InvalidProgramInfo<'tcx>

impl<'tcx> !UnwindSafe for InvalidProgramInfo<'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]