Trait naan::fun::F3Once

source ·
pub trait F3Once<A, B, C>: Sized {
    type Ret;
    type Curried;

    // Required methods
    fn call1(self, a: A, b: B, c: C) -> Self::Ret;
    fn curry(self) -> Self::Curried;
}
Expand description

A function that accepts 3 arguments and can be called at most once.

Required Associated Types§

source

type Ret

The type returned by this function

source

type Curried

The concrete type that curry returns.

Required Methods§

source

fn call1(self, a: A, b: B, c: C) -> Self::Ret

Call the function

source

fn curry(self) -> Self::Curried

Curry this function, transforming it from fn(A, B, C) -> D to fn(A) -> fn(B) -> fn(C) -> Self::Ret

Implementors§

source§

impl<F, A, B, C, D> F3Once<A, B, C> for Fwhere F: FnOnce(A, B, C) -> D,

§

type Ret = D

§

type Curried = Curry3<F, Nothing<A>, Nothing<B>, Nothing<C>, D>