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,
},
UnsupportedForeignItem(String),
}
Expand description
Details of premature program termination.
Variants§
Exit
Abort(String)
UnsupportedInIsolation(String)
StackedBorrowsUb
TreeBorrowsUb
Int2PtrWithStrictProvenance
Deadlock
MultipleSymbolDefinitions
SymbolShimClashing
DataRace
Fields
UnsupportedForeignItem(String)
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 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
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 bytesUnsupportedForeignItem
: 31 bytes