pub struct ChainDisposal<D1, D2> { /* private fields */ }Expand description
A disposal that disposes first, then second.
The front-to-back dispose order is a guarantee, not an implementation detail:
operators encode their semantics in it. For example, DoBeforeDisposal places
its callback in first to run before the source’s disposal, while
DoAfterDisposal places it in second to run after.
Implementations§
Source§impl<D1, D2> ChainDisposal<D1, D2>
impl<D1, D2> ChainDisposal<D1, D2>
Trait Implementations§
Source§impl<D1, D2> Disposable for ChainDisposal<D1, D2>where
D1: Disposable,
D2: Disposable,
impl<D1, D2> Disposable for ChainDisposal<D1, D2>where
D1: Disposable,
D2: Disposable,
Source§impl<'or, T, E, OE, S> From<ChainDisposal<<S as Observable<'or, T, E>>::D, RefCountDisposal<'or, T, E, OE, S>>> for Disposal<'or, T, E, OE, S>where
OE: Observable<'or, T, E>,
S: Subject<'or, T, E>,
impl<'or, T, E, OE, S> From<ChainDisposal<<S as Observable<'or, T, E>>::D, RefCountDisposal<'or, T, E, OE, S>>> for Disposal<'or, T, E, OE, S>where
OE: Observable<'or, T, E>,
S: Subject<'or, T, E>,
Source§fn from(value: ChainDisposal<S::D, RefCountDisposal<'or, T, E, OE, S>>) -> Self
fn from(value: ChainDisposal<S::D, RefCountDisposal<'or, T, E, OE, S>>) -> Self
Converts to this type from the input type.
Source§impl<'or_sub, D> From<ChainDisposal<BoxedDisposal<'or_sub>, D>> for Disposal<'or_sub, D>where
D: Disposable,
impl<'or_sub, D> From<ChainDisposal<BoxedDisposal<'or_sub>, D>> for Disposal<'or_sub, D>where
D: Disposable,
Source§fn from(value: ChainDisposal<BoxedDisposal<'or_sub>, D>) -> Self
fn from(value: ChainDisposal<BoxedDisposal<'or_sub>, D>) -> Self
Converts to this type from the input type.
Source§fn from(value: ChainDisposal<SD, SharedDisposal<Subscription<D>>>) -> Self
fn from(value: ChainDisposal<SD, SharedDisposal<Subscription<D>>>) -> Self
Converts to this type from the input type.
Source§fn from(value: ChainDisposal<SharedDisposal<Subscription<D1>>, D>) -> Self
fn from(value: ChainDisposal<SharedDisposal<Subscription<D1>>, D>) -> Self
Converts to this type from the input type.
Source§fn from(value: ChainDisposal<SharedDisposal<Subscription<D1>>, D>) -> Self
fn from(value: ChainDisposal<SharedDisposal<Subscription<D1>>, D>) -> Self
Converts to this type from the input type.
Source§fn from(value: ChainDisposal<SharedDisposal<Subscription<D2>>, D1>) -> Self
fn from(value: ChainDisposal<SharedDisposal<Subscription<D2>>, D1>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<D1, D2> Freeze for ChainDisposal<D1, D2>
impl<D1, D2> RefUnwindSafe for ChainDisposal<D1, D2>where
D1: RefUnwindSafe,
D2: RefUnwindSafe,
impl<D1, D2> Send for ChainDisposal<D1, D2>
impl<D1, D2> Sync for ChainDisposal<D1, D2>
impl<D1, D2> Unpin for ChainDisposal<D1, D2>
impl<D1, D2> UnsafeUnpin for ChainDisposal<D1, D2>where
D1: UnsafeUnpin,
D2: UnsafeUnpin,
impl<D1, D2> UnwindSafe for ChainDisposal<D1, D2>where
D1: UnwindSafe,
D2: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<D> DisposableExt for Dwhere
D: Disposable,
impl<D> DisposableExt for Dwhere
D: Disposable,
fn into_boxed<'dis>(self) -> BoxedDisposal<'dis>where
Self: MaybeSend + 'dis,
Source§fn into_subscription<D>(self) -> Subscription<D>where
D: Disposable + From<Self>,
fn into_subscription<D>(self) -> Subscription<D>where
D: Disposable + From<Self>,
Converts this disposal into a subscription whose inner disposal is
created through
From.