pub enum EHAction {
None,
Cleanup(*const u8),
Catch(*const u8),
Filter(*const u8),
Terminate,
}Variants§
None
Cleanup(*const u8)
Destructors should be executed when stack unwinds.
Catch(*const u8)
Stack unwind should be stopped as the exception is going to be caught by catch_unwind.
Filter(*const u8)
Stack unwind should be stopped for termination (UnwindAction::Terminate).
Note that due to inlining the landing pad can execute destructors before terminating. So
this is different from Terminate.
Handling of this is mostly identical to Catch; except that Rust frames that have no
destructors but only UnwindAction::Terminate is considered as plain-old-frame (POF) and
forced unwind is allowed to unwind past it; so this is treated as None during forced unwind.
Terminate
Process should be terminated as the call site does not permit unwinding.
Auto Trait Implementations§
impl !Send for EHAction
impl !Sync for EHAction
impl Freeze for EHAction
impl RefUnwindSafe for EHAction
impl Unpin for EHAction
impl UnsafeUnpin for EHAction
impl UnwindSafe for EHAction
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> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
🔬This is a nightly-only experimental API. (
core_io_internals)Returns a lower bound on the number of elements this container-like item
contains.
For example, an array
[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
🔬This is a nightly-only experimental API. (
ptr_alignment_type #102070)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)The largest safe length for a
[Self]. Read more