pub struct InterpErrorInfo<'tcx>(Box<InterpErrorInfoInner<'tcx>>);
Expand description
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
an InterpError
. In rustc_mir::interpret
, we have throw_err_*
macros for this.
Interpreter errors must not be silently discarded (that will lead to a panic). Instead,
explicitly call discard_err
if this is really the right thing to do. Note that if
this happens during const-eval or in Miri, it could lead to a UB error being lost!
Tuple Fields§
§0: Box<InterpErrorInfoInner<'tcx>>
Auto Trait Implementations§
impl<'tcx> Freeze for InterpErrorInfo<'tcx>
impl<'tcx> !RefUnwindSafe for InterpErrorInfo<'tcx>
impl<'tcx> !Send for InterpErrorInfo<'tcx>
impl<'tcx> !Sync for InterpErrorInfo<'tcx>
impl<'tcx> Unpin for InterpErrorInfo<'tcx>
impl<'tcx> !UnwindSafe for InterpErrorInfo<'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