Struct LateStatic

Source
pub struct LateStatic<T> { /* private fields */ }
Expand description

Static value that is manually initialized at runtime.

Implementations§

Source§

impl<T> LateStatic<T>

Source

pub const fn new() -> Self

Construct a LateStatic.

Source

pub unsafe fn assign(instance: &LateStatic<T>, val: T)

Assign a value to the late static.

This only works once. A second call to assign for a given variable will panic.

§Safety

This is completely unsafe if there is even the slightest chance of another thread trying to dereference the variable.

Source

pub unsafe fn clear(instance: &LateStatic<T>)

Invalidate the late static by removing its inner value.

§Safety

This is completely unsafe if there is even the slightest chance of another thread trying to dereference the variable.

Source

pub unsafe fn has_value(instance: &LateStatic<T>) -> bool

Whether a value is assigned to this LateStatic.

§Safety

This is completely unsafe if there is even the slightest chance of another thread trying to dereference the variable.

Trait Implementations§

Source§

impl<T> Deref for LateStatic<T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &T

Dereferences the value.
Source§

impl<T> DerefMut for LateStatic<T>

Source§

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

Mutably dereferences the value.
Source§

impl<T: Send> Send for LateStatic<T>

Source§

impl<T: Sync> Sync for LateStatic<T>

Auto Trait Implementations§

§

impl<T> !Freeze for LateStatic<T>

§

impl<T> !RefUnwindSafe for LateStatic<T>

§

impl<T> Unpin for LateStatic<T>
where T: Unpin,

§

impl<T> UnwindSafe for LateStatic<T>
where T: UnwindSafe,

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

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

Source§

type Error = Infallible

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

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

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.