Enum miri::TerminationInfo
source · pub enum TerminationInfo {
Exit {
code: i64,
leak_check: bool,
},
Abort(String),
UnsupportedInIsolation(String),
StackedBorrowsUb {
msg: String,
help: Vec<String>,
history: Option<TagHistory>,
},
TreeBorrowsUb {
title: String,
details: Vec<String>,
history: HistoryData,
},
Int2PtrWithStrictProvenance,
Deadlock,
MultipleSymbolDefinitions {
link_name: Symbol,
first: SpanData,
first_crate: Symbol,
second: SpanData,
second_crate: Symbol,
},
SymbolShimClashing {
link_name: Symbol,
span: SpanData,
},
DataRace {
involves_non_atomic: bool,
ptr: Pointer<AllocId>,
op1: RacingOp,
op2: RacingOp,
extra: Option<&'static str>,
retag_explain: bool,
},
}
Expand description
Details of premature program termination.
Variants§
Exit
Abort(String)
UnsupportedInIsolation(String)
StackedBorrowsUb
TreeBorrowsUb
Int2PtrWithStrictProvenance
Deadlock
MultipleSymbolDefinitions
SymbolShimClashing
DataRace
Trait Implementations§
source§impl Debug for TerminationInfo
impl Debug for TerminationInfo
source§impl Display for TerminationInfo
impl Display for TerminationInfo
source§impl MachineStopType for TerminationInfo
impl MachineStopType for TerminationInfo
source§fn diagnostic_message(&self) -> DiagMessage
fn diagnostic_message(&self) -> DiagMessage
The diagnostic message for this error
Auto Trait Implementations§
impl DynSend for TerminationInfo
impl DynSync for TerminationInfo
impl Freeze for TerminationInfo
impl RefUnwindSafe for TerminationInfo
impl Send for TerminationInfo
impl Sync for TerminationInfo
impl Unpin for TerminationInfo
impl UnwindSafe for TerminationInfo
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
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 176 bytes
Size for each variant:
Exit
: 15 bytesAbort
: 31 bytesUnsupportedInIsolation
: 31 bytesStackedBorrowsUb
: 175 bytesTreeBorrowsUb
: 79 bytesInt2PtrWithStrictProvenance
: 0 bytesDeadlock
: 0 bytesMultipleSymbolDefinitions
: 47 bytesSymbolShimClashing
: 23 bytesDataRace
: 167 bytes