Struct alloc::arc::Weak
[−]
[src]
pub struct Weak<T: ?Sized> { _ptr: Shared<ArcInner<T>>, }
A weak pointer to an Arc
.
Weak pointers will not keep the data inside of the Arc
alive, and can be
used to break cycles between Arc
pointers.
Fields
_ptr |
Methods
impl<T: ?Sized> Weak<T>
fn upgrade(&self) -> Option<Arc<T>>
Upgrades a weak reference to a strong reference.
Upgrades the Weak<T>
reference to an Arc<T>
, if possible.
Returns None
if there were no strong references and the data was
destroyed.
Examples
use std::sync::Arc; let five = Arc::new(5); let weak_five = Arc::downgrade(&five); let strong_five: Option<Arc<_>> = weak_five.upgrade();
fn inner(&self) -> &ArcInner<T>
impl<T> Weak<T>
fn new() -> Weak<T>
Constructs a new Weak<T>
without an accompanying instance of T.
This allocates memory for T, but does not initialize it. Calling
Weak
Examples
#![feature(downgraded_weak)] use std::sync::Weak; let empty: Weak<i64> = Weak::new();