Struct pin_init::UniqueArc [−][src]
#[repr(transparent)]pub struct UniqueArc<T: ?Sized>(_);
This is supported on crate feature
alloc
only.Expand description
An uniquely owned Arc
.
Useful for constructing Arc
, since we are certain that when Arc
is
initially created, there is an unique reference. Once initially mutation
is done, it can be convert to Arc
with shareable()
.
Implementations
impl<T> UniqueArc<T>
[src]
impl<T> UniqueArc<T>
[src]pub fn shareable_pin(x: Pin<Self>) -> Pin<Arc<T>>
[src]
pub fn shareable_pin(x: Pin<Self>) -> Pin<Arc<T>>
[src]Convert to a shareable Pin<Arc<T>>
.
pub fn new_uninit() -> UniqueArc<MaybeUninit<T>>
[src]
pub fn new_uninit() -> UniqueArc<MaybeUninit<T>>
[src]Constructs a new UniqueArc
with uninitialized contents.
impl<T> UniqueArc<MaybeUninit<T>>
[src]
impl<T> UniqueArc<MaybeUninit<T>>
[src]pub unsafe fn assume_init(self) -> UniqueArc<T>
[src]
pub unsafe fn assume_init(self) -> UniqueArc<T>
[src]Convert to an initialized Arc.
Safety
This function is unsafe as this is equivalent to MaybeUninit::assume_init
.
Trait Implementations
Auto Trait Implementations
impl<T: ?Sized> Send for UniqueArc<T> where
T: Send + Sync,
T: Send + Sync,
impl<T: ?Sized> Sync for UniqueArc<T> where
T: Send + Sync,
T: Send + Sync,