CoOnce

Trait CoOnce 

Source
pub trait CoOnce<Args> {
    type Output;

    // Required method
    fn call_once(self, args: Args) -> Self::Output;
}
Expand description

Replacement for FnOnce - representing a single bundled computation - until that can be manually implemented. Designed to use the same API.

Automatically implemented for all FnOnce.

Required Associated Types§

Required Methods§

Source

fn call_once(self, args: Args) -> Self::Output

Implementors§

Source§

impl<A, O, F: FnOnce(A) -> O> CoOnce<A> for F

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>> CoOnce<A> for Chain<(T0, T1)>

Source§

type Output = <T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>> CoOnce<A> for Chain<(T0, T1, T2)>

Source§

type Output = <T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3)>

Source§

type Output = <T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4)>

Source§

type Output = <T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5)>

Source§

type Output = <T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>, T6: CoOnce<T5::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5, T6)>

Source§

type Output = <T6 as CoOnce<<T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>, T6: CoOnce<T5::Output>, T7: CoOnce<T6::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5, T6, T7)>

Source§

type Output = <T7 as CoOnce<<T6 as CoOnce<<T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>, T6: CoOnce<T5::Output>, T7: CoOnce<T6::Output>, T8: CoOnce<T7::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>

Source§

type Output = <T8 as CoOnce<<T7 as CoOnce<<T6 as CoOnce<<T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>, T6: CoOnce<T5::Output>, T7: CoOnce<T6::Output>, T8: CoOnce<T7::Output>, T9: CoOnce<T8::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>

Source§

type Output = <T9 as CoOnce<<T8 as CoOnce<<T7 as CoOnce<<T6 as CoOnce<<T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>, T6: CoOnce<T5::Output>, T7: CoOnce<T6::Output>, T8: CoOnce<T7::Output>, T9: CoOnce<T8::Output>, T10: CoOnce<T9::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>

Source§

type Output = <T10 as CoOnce<<T9 as CoOnce<<T8 as CoOnce<<T7 as CoOnce<<T6 as CoOnce<<T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<A, T0: CoOnce<A>, T1: CoOnce<T0::Output>, T2: CoOnce<T1::Output>, T3: CoOnce<T2::Output>, T4: CoOnce<T3::Output>, T5: CoOnce<T4::Output>, T6: CoOnce<T5::Output>, T7: CoOnce<T6::Output>, T8: CoOnce<T7::Output>, T9: CoOnce<T8::Output>, T10: CoOnce<T9::Output>, T11: CoOnce<T10::Output>> CoOnce<A> for Chain<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>

Source§

type Output = <T11 as CoOnce<<T10 as CoOnce<<T9 as CoOnce<<T8 as CoOnce<<T7 as CoOnce<<T6 as CoOnce<<T5 as CoOnce<<T4 as CoOnce<<T3 as CoOnce<<T2 as CoOnce<<T1 as CoOnce<<T0 as CoOnce<A>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output>>::Output

Source§

impl<S, A, O> CoOnce<A> for Closure<S, A, O>

Source§

impl<S, A, O> CoOnce<A> for ClosureMut<S, A, O>

Source§

impl<S, A, O> CoOnce<A> for ClosureOnce<S, A, O>