Trait Upgrade

pub trait Upgrade: Sized {
    type Strong;

    // Required method
    fn upgrade(&self) -> Option<Self::Strong>;
}
Expand description

Trait for generalizing upgrading a weak reference to a strong reference.

Required Associated Types§

type Strong

Strong reference type.

Required Methods§

fn upgrade(&self) -> Option<Self::Strong>

Try upgrading a weak reference to a strong reference.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl<T> Upgrade for Weak<T>

§

type Strong = Rc<T>

§

fn upgrade(&self) -> Option<<Weak<T> as Upgrade>::Strong>

§

impl<T> Upgrade for Weak<T>

§

type Strong = Arc<T>

§

fn upgrade(&self) -> Option<<Weak<T> as Upgrade>::Strong>

§

impl<T> Upgrade for PhantomData<T>

Implementors§

§

impl<T> Upgrade for WeakRef<T>
where T: Downgrade + ObjectType,

§

type Strong = T

§

impl<T> Upgrade for ObjectImplWeakRef<T>
where T: ObjectSubclass,