Fun

Trait Fun 

Source
pub trait Fun<A, B> {
    // Required method
    fn apply(&self, a: A) -> B;
}
Expand description

A custom version of Fn(A)->B. Every Fn(A)->B is also a Fun<A,B>.

Required Methods§

Source

fn apply(&self, a: A) -> B

Apply this Fun to a

Implementors§

Source§

impl<'a, U, D: Clone> Fun<&'a (U, D), D> for SizeIgnoreFn

Source§

impl<'x, U: Copy, D: Clone, D2: Clone, F: for<'a> Fun<&'a D, D2>> Fun<&'x (U, D), (U, D2)> for KeepSizeAnd<F>

Source§

impl<A, B, C, F: Fn(A, B) -> C> Fun<(A, B), C> for TupleFun<F>

Source§

impl<A, B, C, G: Fun<A, B>, F: for<'b> Fun<&'b B, C>> Fun<A, C> for ComposeRefFn<F, G, B>

Source§

impl<A, B, F: Fn(A) -> B> Fun<A, B> for F

Source§

impl<A, B, F: Fun<A, B>> Fun<A, Option<B>> for SomeFun<F>

Source§

impl<A, F: Fun<(A, A), A>> Fun<(Option<A>, Option<A>), Option<A>> for OptOpFun<F>

Source§

impl<T> Fun<(), Option<T>> for NoneFun

Source§

impl<T, D: Clone, S: FoldSettings<T, D>> Fun<(D, D), D> for OpFromSettings<T, D, S>

Source§

impl<T, F: Fn() -> T> Fun<(), T> for EmptyFn<F>

Source§

impl<U: Add<Output = U> + Copy, D, OP: Fun<(D, D), D>> Fun<((U, D), (U, D)), (U, D)> for AddSizesAnd<OP>

Source§

impl<const N: usize, D, I, F: Fun<I, D>> Fun<I, (usize, D)> for AlwaysAnd<N, F>