docs(LazyLock): add example pass local LazyLock variable to struct
Signed-off-by: DragonBillow <DragonBillow@outlook.com>
This commit is contained in:
parent
beef07fe8f
commit
40dd5a337c
@ -25,6 +25,8 @@ union Data<T, F> {
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
/// Initialize static variables with `LazyLock`.
|
||||||
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// #![feature(lazy_cell)]
|
/// #![feature(lazy_cell)]
|
||||||
///
|
///
|
||||||
@ -54,6 +56,24 @@ union Data<T, F> {
|
|||||||
/// // Some("Hoyten")
|
/// // Some("Hoyten")
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
/// Initialize fields with `LazyLock`.
|
||||||
|
/// ```
|
||||||
|
/// #![feature(lazy_cell)]
|
||||||
|
///
|
||||||
|
/// use std::sync::LazyLock;
|
||||||
|
///
|
||||||
|
/// #[derive(Debug)]
|
||||||
|
/// struct UseCellLock {
|
||||||
|
/// number: LazyLock<u32>,
|
||||||
|
/// }
|
||||||
|
/// fn main() {
|
||||||
|
/// let lock: LazyLock<u32> = LazyLock::new(|| 0u32);
|
||||||
|
///
|
||||||
|
/// let data = UseCellLock { number: lock };
|
||||||
|
/// println!("{}", *data.number);
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
#[unstable(feature = "lazy_cell", issue = "109736")]
|
#[unstable(feature = "lazy_cell", issue = "109736")]
|
||||||
pub struct LazyLock<T, F = fn() -> T> {
|
pub struct LazyLock<T, F = fn() -> T> {
|
||||||
once: Once,
|
once: Once,
|
||||||
|
Loading…
Reference in New Issue
Block a user