Curry

Trait Curry 

Source
pub trait Curry<'a, T> {
    type Output;

    // Required method
    fn curry(self) -> Self::Output;
}

Required Associated Types§

Required Methods§

Source

fn curry(self) -> Self::Output

Implementors§

Source§

impl<'a, T0, F, Ret> Curry<'a, (T0, F, Ret)> for F
where F: FnOnce(T0) -> Ret + 'a, T0: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Ret + 'a>

Source§

impl<'a, T0, T1, F, Ret> Curry<'a, (T0, T1, F, Ret)> for F
where F: FnOnce(T0, T1) -> Ret + 'a, T0: 'a, T1: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Ret + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, F, Ret> Curry<'a, (T0, T1, T2, F, Ret)> for F
where F: FnOnce(T0, T1, T2) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Ret + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, F, Ret> Curry<'a, (T0, T1, T2, T3, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Ret + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, T6, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5, T6) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Box<dyn FnOnce(T6) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, T6, T7, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5, T6, T7) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Box<dyn FnOnce(T6) -> Box<dyn FnOnce(T7) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7, T8, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, T6, T7, T8, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5, T6, T7, T8) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Box<dyn FnOnce(T6) -> Box<dyn FnOnce(T7) -> Box<dyn FnOnce(T8) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Box<dyn FnOnce(T6) -> Box<dyn FnOnce(T7) -> Box<dyn FnOnce(T8) -> Box<dyn FnOnce(T9) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a, T10: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Box<dyn FnOnce(T6) -> Box<dyn FnOnce(T7) -> Box<dyn FnOnce(T8) -> Box<dyn FnOnce(T9) -> Box<dyn FnOnce(T10) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, F, Ret> Curry<'a, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, F, Ret)> for F
where F: FnOnce(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Ret + 'a, T0: 'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a, T10: 'a, T11: 'a,

Source§

type Output = Box<dyn FnOnce(T0) -> Box<dyn FnOnce(T1) -> Box<dyn FnOnce(T2) -> Box<dyn FnOnce(T3) -> Box<dyn FnOnce(T4) -> Box<dyn FnOnce(T5) -> Box<dyn FnOnce(T6) -> Box<dyn FnOnce(T7) -> Box<dyn FnOnce(T8) -> Box<dyn FnOnce(T9) -> Box<dyn FnOnce(T10) -> Box<dyn FnOnce(T11) -> Ret + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a> + 'a>