Trait fmap::MonadWithMapper

source ·
pub trait MonadWithMapper<'a, B>where
    Self: Monad<'a, B> + Pure<'a, BoxMapper<'a, Self, B>>,
    B: 'a,{
    type MapperMonad: Functor<'a, B, Inner = BoxMapper<'a, Self, B>, Mapped = <Self as Functor<'a, B>>::Mapped> + Monad<'a, B> + Pure<'a, BoxMapper<'a, Self, B>>;
}
Expand description

A Monad that can have a boxed mapping closure as an inner value

This trait is one of monad_apply’s bounds.

Required Associated Types§

source

type MapperMonad: Functor<'a, B, Inner = BoxMapper<'a, Self, B>, Mapped = <Self as Functor<'a, B>>::Mapped> + Monad<'a, B> + Pure<'a, BoxMapper<'a, Self, B>>

The Monad with the boxed mapping closure as inner value

Implementors§

source§

impl<'a, T, B> MonadWithMapper<'a, B> for Twhere T: Monad<'a, B> + Pure<'a, BoxMapper<'a, T, B>>, <T as Functor<'a, BoxMapper<'a, T, B>>>::Mapped: Functor<'a, B, Inner = BoxMapper<'a, T, B>, Mapped = <T as Functor<'a, B>>::Mapped> + Monad<'a, B> + Pure<'a, BoxMapper<'a, T, B>>, B: 'a,

§

type MapperMonad = <T as Functor<'a, Box<dyn FnMut(<T as Functor<'a, B>>::Inner) -> B + Send + 'a, Global>>>::Mapped