pub struct LazyKey {
key: Atomic<usize>,
dtor: Option<unsafe extern "C" fn(*mut u8)>,
}
🔬This is a nightly-only experimental API. (
thread_local_internals
)Expand description
A type for TLS keys that are statically allocated.
This is basically a LazyLock<Key>
, but avoids blocking and circular
dependencies with the rest of std
.
Fields§
§key: Atomic<usize>
🔬This is a nightly-only experimental API. (
thread_local_internals
)Inner static TLS key (internals).
dtor: Option<unsafe extern "C" fn(*mut u8)>
🔬This is a nightly-only experimental API. (
thread_local_internals
)Destructor for the TLS value.
Implementations§
Source§impl LazyKey
impl LazyKey
pub const fn new(dtor: Option<unsafe extern "C" fn(*mut u8)>) -> LazyKey
🔬This is a nightly-only experimental API. (
thread_local_internals
)pub fn force(&self) -> pthread_key_t
🔬This is a nightly-only experimental API. (
thread_local_internals
)fn lazy_init(&self) -> usize
🔬This is a nightly-only experimental API. (
thread_local_internals
)Auto Trait Implementations§
impl !Freeze for LazyKey
impl RefUnwindSafe for LazyKey
impl Send for LazyKey
impl Sync for LazyKey
impl Unpin for LazyKey
impl UnwindSafe for LazyKey
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more