Skip to main content

SchedulerScopeGuardRaw

Struct SchedulerScopeGuardRaw 

Source
pub struct SchedulerScopeGuardRaw { /* private fields */ }
Expand description

Panic-safe scope guard that does NOT hold a borrow across the body.

The scope! macro uses this (not SchedulerScopeGuard) so the guarded body — including nested scope! invocations — can keep using the Scheduler normally. At drop time (normal or unwind) no other borrows of the scheduler are live, since the body has ended.

Implementations§

Source§

impl SchedulerScopeGuardRaw

Source

pub unsafe fn enter(sched: *mut Scheduler, key: &str) -> Self

§Safety

sched must point to a valid Scheduler for the guard’s lifetime, and the scheduler must not be used while the guard is being dropped (guaranteed when the guard outlives the body it protects).

Trait Implementations§

Source§

impl Drop for SchedulerScopeGuardRaw

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.