Struct std::sync::Weak
[−]
[src]
pub struct Weak<T> {
// some fields omitted
}: Weak pointers may not belong in this module.
A weak pointer to an Arc`Arc`.
Weak pointers will not keep the data inside of the Arc`Arcalive, and can be used to break cycles between` alive, and can be
used to break cycles between Arc`Arc` pointers.
Methods
impl<T> Weak<T>
fn upgrade(&self) -> Option<Arc<T>>
: Weak pointers may not belong in this module.
Upgrades a weak reference to a strong reference.
Upgrades the Weak<T>`Weakreference to an` reference to an Arc<T>`Arc
Returns None`None` if there were no strong references and the data was
destroyed.
Examples
#![feature(alloc)] fn main() { use std::sync::Arc; let five = Arc::new(5); let weak_five = five.downgrade(); let strong_five: Option<Arc<_>> = weak_five.upgrade(); }use std::sync::Arc; let five = Arc::new(5); let weak_five = five.downgrade(); let strong_five: Option<Arc<_>> = weak_five.upgrade();