Struct PanicGuard

pub(in ::thread::functions) struct PanicGuard;

Used to ensure that park and park_timeout do not unwind, as that can cause undefined behavior if not handled correctly (see #102398 for context).

Trait Implementations

impl Drop for PanicGuard

fn drop(&mut self)

Auto Trait Implementations

impl Freeze for PanicGuard

impl RefUnwindSafe for PanicGuard

impl Send for PanicGuard

impl Sync for PanicGuard

impl Unpin for PanicGuard

impl UnsafeUnpin for PanicGuard

impl UnwindSafe for PanicGuard

Blanket Implementations

impl<T> Any for PanicGuard where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for PanicGuard where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for PanicGuard where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for PanicGuard

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for PanicGuard where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for PanicGuard

impl<T, U> Into<U> for PanicGuard where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for PanicGuard where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for PanicGuard where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>