Trait Ap

Source
pub trait Ap<A, F, B>: Lift3<A, F, B> + Bind<A, B>
where A: Clone, <Self as Lift3<A, F, B>>::Target2: Bind<F, B> + Clone, <<Self as Lift3<A, F, B>>::Target2 as Lift<F, B>>::Target1: Pure<B>, F: Fn(A) -> B,
{ // Required method fn ap( self, f: <Self as Lift3<A, F, B>>::Target2, ) -> <Self as Lift<A, B>>::Target1; }
Expand description

Ap provides an implementation for Apply::apply using only Bind and Pure.

Required Methods§

Source

fn ap( self, f: <Self as Lift3<A, F, B>>::Target2, ) -> <Self as Lift<A, B>>::Target1

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<M, A, F, B> Ap<A, F, B> for M
where M: Lift3<A, F, B> + Bind<A, B>, A: Clone, <M as Lift3<A, F, B>>::Target2: Bind<F, B> + Clone, <<M as Lift3<A, F, B>>::Target2 as Lift<F, B>>::Target1: Pure<B>, F: Fn(A) -> B,