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 SIZE: usize = _
#[doc(hidden)] const SIZE: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)] const ALIGN: usize = _
#[doc(hidden)] const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)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