Trait Downgrade

pub trait Downgrade: Sized {
    type Weak: Upgrade;

    // Required method
    fn downgrade(&self) -> Self::Weak;
}
Expand description

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

Required Associated Types§

type Weak: Upgrade

Weak reference type.

Required Methods§

fn downgrade(&self) -> Self::Weak

Downgrade to a weak 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> Downgrade for &T
where T: Downgrade,

§

type Weak = <T as Downgrade>::Weak

§

fn downgrade(&self) -> <&T as Downgrade>::Weak

§

impl<T> Downgrade for Rc<T>

§

type Weak = Weak<T>

§

fn downgrade(&self) -> <Rc<T> as Downgrade>::Weak

§

impl<T> Downgrade for Arc<T>

§

type Weak = Weak<T>

§

fn downgrade(&self) -> <Arc<T> as Downgrade>::Weak

§

impl<T> Downgrade for PhantomData<T>

§

type Weak = PhantomData<T>

§

fn downgrade(&self) -> <PhantomData<T> as Downgrade>::Weak

§

impl<T> Downgrade for TemplateChild<T>

§

type Weak = <T as Downgrade>::Weak

§

fn downgrade(&self) -> <TemplateChild<T> as Downgrade>::Weak

Implementors§

§

impl<T> Downgrade for BorrowedObject<'_, T>
where T: Downgrade + ObjectType,

§

type Weak = <T as Downgrade>::Weak

§

impl<T> Downgrade for ObjectImplRef<T>
where T: ObjectSubclass,