Struct alloc::rc::Weak
[−]
[src]
pub struct Weak<T: ?Sized> { // some fields omitted }
A weak version of Rc<T>
.
Weak references do not count when determining if the inner value should be dropped.
See the module level documentation for more.
Methods
impl<T: ?Sized> Weak<T>
fn upgrade(&self) -> Option<Rc<T>>
Upgrades a weak reference to a strong reference.
Upgrades the Weak<T>
reference to an Rc<T>
, if possible.
Returns None
if there were no strong references and the data was
destroyed.
Examples
use std::rc::Rc; let five = Rc::new(5); let weak_five = Rc::downgrade(&five); let strong_five: Option<Rc<_>> = weak_five.upgrade();