Enum std::thread::LocalKeyState [] [src]

pub enum LocalKeyState {
    Uninitialized,
    Valid,
    Destroyed,
}
Unstable (thread_local_state #27716)

: state querying was recently added

Indicator of the state of a thread local storage key.

Variants

Uninitialized
Unstable (thread_local_state #27716)

: state querying was recently added

All keys are in this state whenever a thread starts. Keys will transition to the Valid state once the first call to with happens and the initialization expression succeeds.

Keys in the Uninitialized state will yield a reference to the closure passed to with so long as the initialization routine does not panic.

Valid
Unstable (thread_local_state #27716)

: state querying was recently added

Once a key has been accessed successfully, it will enter the Valid state. Keys in the Valid state will remain so until the thread exits, at which point the destructor will be run and the key will enter the Destroyed state.

Keys in the Valid state will be guaranteed to yield a reference to the closure passed to with.

Destroyed
Unstable (thread_local_state #27716)

: state querying was recently added

When a thread exits, the destructors for keys will be run (if necessary). While a destructor is running, and possibly after a destructor has run, a key is in the Destroyed state.

Keys in the Destroyed states will trigger a panic when accessed via with.

Trait Implementations

Derived Implementations

impl Clone for LocalKeyState

fn clone(&self) -> LocalKeyState

Unstable (thread_local_state #27716)

: state querying was recently added

fn clone_from(&mut self, source: &Self)1.0.0

impl Copy for LocalKeyState

impl PartialEq for LocalKeyState

fn eq(&self, __arg_0: &LocalKeyState) -> bool

Unstable (thread_local_state #27716)

: state querying was recently added

fn ne(&self, other: &Rhs) -> bool1.0.0

impl Eq for LocalKeyState