pub struct ContextInitHandle(/* private fields */);Expand description
Identifies the unique context a contextual_var is in.
Each node that sets context-vars have an unique ID, it is different after each (re)init. The contextual var records this ID, and rebuilds when it has changed. The contextualized inner vars are retained locally to the clone of the contextual var.
Implementations§
Source§impl ContextInitHandle
impl ContextInitHandle
Sourcepub const fn no_context() -> Self
pub const fn no_context() -> Self
Identifies the state before first contextualization.
This is the default value.
Sourcepub fn current() -> Self
pub fn current() -> Self
Gets the current context handle.
§Panics
Panics is not called in an app context at least, never returns no_context.
Sourcepub fn is_no_context(&self) -> bool
pub fn is_no_context(&self) -> bool
Handle represents the state before first contextualization.
Sourcepub fn with_context<R>(&self, action: impl FnOnce() -> R) -> R
pub fn with_context<R>(&self, action: impl FnOnce() -> R) -> R
Runs action with self as the current context ID.
Note that ContextVar::with_context already calls this method.
§Panics
Panics if the handle is_no_context.
Sourcepub fn downgrade(&self) -> WeakContextInitHandle
pub fn downgrade(&self) -> WeakContextInitHandle
Create a weak handle that can be used to monitor this handle without holding it.
Trait Implementations§
Source§impl Clone for ContextInitHandle
impl Clone for ContextInitHandle
Source§fn clone(&self) -> ContextInitHandle
fn clone(&self) -> ContextInitHandle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContextInitHandle
impl Debug for ContextInitHandle
Source§impl Default for ContextInitHandle
impl Default for ContextInitHandle
Source§fn default() -> ContextInitHandle
fn default() -> ContextInitHandle
Source§impl PartialEq for ContextInitHandle
impl PartialEq for ContextInitHandle
impl Eq for ContextInitHandle
Auto Trait Implementations§
impl Freeze for ContextInitHandle
impl RefUnwindSafe for ContextInitHandle
impl Send for ContextInitHandle
impl Sync for ContextInitHandle
impl Unpin for ContextInitHandle
impl UnwindSafe for ContextInitHandle
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more