pub struct AbortGuard { /* private fields */ }Expand description
RAII guard for whether panics in the current thread should unwind or abort.
Sets a thread-local abort flag on construction and reverts to the previous setting when dropped.
Does not implement Send on purpose.
Note: Because we restore the previous value when dropped, you are encouraged to leave the
AbortGuardon the stack and let it destroy itself naturally.
Implementations§
Source§impl AbortGuard
impl AbortGuard
Sourcepub fn force_unwind() -> AbortGuard
pub fn force_unwind() -> AbortGuard
Create a new guard. While the guard is alive, panics that happen in the current thread will unwind the stack (unless another guard is created afterwards).
Sourcepub fn force_abort() -> AbortGuard
pub fn force_abort() -> AbortGuard
Create a new guard. While the guard is alive, panics that happen in the current thread will abort the process (unless another guard is created afterwards).
Sourcepub fn never_abort() -> AbortGuard
pub fn never_abort() -> AbortGuard
Create a new guard. While the guard is alive, panics that happen in the current thread will
never abort the process (even if AbortGuard::force_abort() guard will be created
afterwards).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AbortGuard
impl RefUnwindSafe for AbortGuard
impl !Send for AbortGuard
impl !Sync for AbortGuard
impl Unpin for AbortGuard
impl UnsafeUnpin for AbortGuard
impl UnwindSafe for AbortGuard
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
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion 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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.