Properly link {Once,Lazy}{Cell,Lock}
in docs
This commit is contained in:
parent
e702534763
commit
57e726108a
4 changed files with 19 additions and 5 deletions
|
@ -4,6 +4,10 @@ use crate::ops::Deref;
|
||||||
|
|
||||||
/// A value which is initialized on the first access.
|
/// A value which is initialized on the first access.
|
||||||
///
|
///
|
||||||
|
/// For a thread-safe version of this struct, see [`std::sync::LazyLock`].
|
||||||
|
///
|
||||||
|
/// [`std::sync::LazyLock`]: ../../std/sync/struct.LazyLock.html
|
||||||
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
|
|
|
@ -4,8 +4,14 @@ use crate::mem;
|
||||||
|
|
||||||
/// A cell which can be written to only once.
|
/// A cell which can be written to only once.
|
||||||
///
|
///
|
||||||
/// Unlike `RefCell`, a `OnceCell` only provides shared `&T` references to its value.
|
/// Unlike [`RefCell`], a `OnceCell` only provides shared `&T` references to its value.
|
||||||
/// Unlike `Cell`, a `OnceCell` doesn't require copying or replacing the value to access it.
|
/// Unlike [`Cell`], a `OnceCell` doesn't require copying or replacing the value to access it.
|
||||||
|
///
|
||||||
|
/// For a thread-safe version of this struct, see [`std::sync::OnceLock`].
|
||||||
|
///
|
||||||
|
/// [`RefCell`]: crate::cell::RefCell
|
||||||
|
/// [`Cell`]: crate::cell::Cell
|
||||||
|
/// [`std::sync::OnceLock`]: ../../std/sync/struct.OnceLock.html
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
|
|
@ -6,7 +6,9 @@ use crate::sync::OnceLock;
|
||||||
|
|
||||||
/// A value which is initialized on the first access.
|
/// A value which is initialized on the first access.
|
||||||
///
|
///
|
||||||
/// This type is a thread-safe `Lazy`, and can be used in statics.
|
/// This type is a thread-safe [`LazyCell`], and can be used in statics.
|
||||||
|
///
|
||||||
|
/// [`LazyCell`]: crate::cell::LazyCell
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
|
|
@ -7,7 +7,9 @@ use crate::sync::Once;
|
||||||
|
|
||||||
/// A synchronization primitive which can be written to only once.
|
/// A synchronization primitive which can be written to only once.
|
||||||
///
|
///
|
||||||
/// This type is a thread-safe `OnceCell`.
|
/// This type is a thread-safe [`OnceCell`], and can be used in statics.
|
||||||
|
///
|
||||||
|
/// [`OnceCell`]: crate::cell::OnceCell
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
@ -33,7 +35,7 @@ use crate::sync::Once;
|
||||||
#[unstable(feature = "once_cell", issue = "74465")]
|
#[unstable(feature = "once_cell", issue = "74465")]
|
||||||
pub struct OnceLock<T> {
|
pub struct OnceLock<T> {
|
||||||
once: Once,
|
once: Once,
|
||||||
// Whether or not the value is initialized is tracked by `state_and_queue`.
|
// Whether or not the value is initialized is tracked by `once.is_completed()`.
|
||||||
value: UnsafeCell<MaybeUninit<T>>,
|
value: UnsafeCell<MaybeUninit<T>>,
|
||||||
/// `PhantomData` to make sure dropck understands we're dropping T in our Drop impl.
|
/// `PhantomData` to make sure dropck understands we're dropping T in our Drop impl.
|
||||||
///
|
///
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue