Re-exportsΒ§
use std::any::Any;πuse std::backtrace::Backtrace;πuse std::borrow::Cow;πuse std::convert;πuse std::fmt;πuse std::mem;πuse std::ops;πuse either::Either;πuse rustc_abi::Align;πuse rustc_abi::Size;πuse rustc_abi::VariantIdx;πuse rustc_data_structures::sync::Lock;πuse rustc_errors::DiagArgValue;πuse rustc_errors::ErrorGuaranteed;πuse rustc_errors::IntoDiagArg;πuse rustc_macros::StableHash;πuse rustc_macros::TyDecodable;πuse rustc_macros::TyEncodable;πuse rustc_session::CtfeBacktrace;πuse rustc_span::def_id::DefId;πuse rustc_span::DUMMY_SP;πuse rustc_span::Span;πuse rustc_span::Symbol;πuse super::AllocId;πuse super::AllocRange;πuse super::ConstAllocation;πuse super::Pointer;πuse super::Scalar;πuse crate::diagnostics;πuse crate::mir::interpret::CtfeProvenance;πuse crate::mir::ConstAlloc;πuse crate::mir::ConstValue;πuse crate::ty;πuse crate::ty::Ty;πuse crate::ty::TyCtxt;πuse crate::ty::ValTree;πuse crate::ty::layout;πuse crate::ty::tls;π
StructsΒ§
- BadBytes
Access - Details of an access to uninitialized bytes / bad pointer bytes where it is not allowed.
- Guard π
- Guard type that panics on drop.
- Interp
Error Backtrace - Interp
Error Info - Packages the kind of error we got from the const code interpreter
up with a Rust-level backtrace of where the error occurred.
These should always be constructed by calling
.into()on anInterpError. Inrustc_mir::interpret, we havethrow_err_*macros for this. - Interp
Error πInfo Inner - Interp
Result - The result type used by the interpreter. This is a newtype around
Resultto block access to operations likeok()that discard UB errors. - Misalignment
- Information about a misaligned pointer.
- Reported
Error Info
EnumsΒ§
- Check
Align Msg - Details of which pointer is not aligned.
- Check
InAlloc Msg - Details of why a pointer had to be in-bounds.
- Error
Handled - Interp
Error Kind - Invalid
Meta Kind - Invalid
Program Info - Error information for when the program we executed turned out not to actually be a valid program. This cannot happen in stand-alone Miri (except for layout errors that are only detect during monomorphization), but it can happen during CTFE/ConstProp where we work on generic code or execution does not have all information available.
- Resource
Exhaustion Info - Error information for when the program exhausted the resources granted to it by the interpreter.
- Undefined
Behavior Info - Error information for when the program caused Undefined Behavior.
- Unsupported
OpInfo - Error information for when the program did something that might (or might not) be correct to do according to the Rust spec, but due to limitations in the interpreter, the operation could not be carried out. These limitations can differ between CTFE and the Miri engine, e.g., CTFE does not support dereferencing pointers at integral addresses.
- ValTree
Creation Error - An error type for the
const_to_valtreequery. Some error should be reported with a βuse-site spanβ, which means the query cannot emit the error, so those errors are represented as dedicated variants here.
TraitsΒ§
- Machine
Stop Type - A trait for machine-specific errors (or other βmachine stopβ conditions).