diff options
| -rw-r--r-- | library/std/src/lazy.rs | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/library/std/src/lazy.rs b/library/std/src/lazy.rs index ca86e569bc1..132733a0525 100644 --- a/library/std/src/lazy.rs +++ b/library/std/src/lazy.rs @@ -87,6 +87,19 @@ impl<T: UnwindSafe> UnwindSafe for SyncOnceCell<T> {} #[unstable(feature = "once_cell", issue = "74465")] impl<T> Default for SyncOnceCell<T> { + /// Creates a new empty cell. + /// + /// # Example + /// + /// ``` + /// #![feature(once_cell)] + /// + /// use std::lazy::SyncOnceCell; + /// + /// fn main() { + /// assert_eq!(SyncOnceCell::<()>::new(), SyncOnceCell::default()); + /// } + /// ``` fn default() -> SyncOnceCell<T> { SyncOnceCell::new() } @@ -118,6 +131,23 @@ impl<T: Clone> Clone for SyncOnceCell<T> { #[unstable(feature = "once_cell", issue = "74465")] impl<T> From<T> for SyncOnceCell<T> { + /// Create a new cell with its contents set to `value`. + /// + /// # Example + /// + /// ``` + /// #![feature(once_cell)] + /// + /// use std::lazy::SyncOnceCell; + /// + /// # fn main() -> Result<(), i32> { + /// let a = SyncOnceCell::from(3); + /// let b = SyncOnceCell::new(); + /// b.set(3)?; + /// assert_eq!(a, b); + /// Ok(()) + /// # } + /// ``` fn from(value: T) -> Self { let cell = Self::new(); match cell.set(value) { | 
