pub struct SetOnce<'a, T>(/* private fields */);
Expand description
A write-once assignment interface for Deferred<T>
.
SetOnce<'a, T>
is a lightweight wrapper used to initialize a Deferred<T>
exactly one time, enforcing single-assignment semantics.
You typically create it via SetOnce::from
and assign a value using SetOnce::try_set
.
§Example
use deferred_cell::{Deferred, SetOnce};
use std::rc::Rc;
let deferred = Deferred::default();
let value = Rc::new(42);
SetOnce::from(&deferred).try_set(&value).unwrap();
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for SetOnce<'a, T>
impl<'a, T> !RefUnwindSafe for SetOnce<'a, T>
impl<'a, T> !Send for SetOnce<'a, T>
impl<'a, T> !Sync for SetOnce<'a, T>
impl<'a, T> Unpin for SetOnce<'a, T>
impl<'a, T> !UnwindSafe for SetOnce<'a, T>
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