proper MonadFailAny::bind

This commit is contained in:
AF 2023-05-20 13:12:22 +00:00
parent 2bf4814b92
commit 0c7f29060e
3 changed files with 12 additions and 12 deletions

View File

@ -293,10 +293,10 @@ pub trait MonadFailAny {
where where
Self: 'a; Self: 'a;
fn bind<'a, A: 'a, E0: 'a, E1: 'a>( fn bind<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>(
wa: <Self::W<E0> as WeakFunctor>::F<'a, A>, wa: <Self::W<E0> as WeakFunctor>::F<'a, A>,
f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, A>, f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, B>,
) -> <Self::W<E1> as WeakFunctor>::F<'a, A> ) -> <Self::W<E1> as WeakFunctor>::F<'a, B>
where where
Self: 'a; Self: 'a;

View File

@ -235,10 +235,10 @@ impl MonadFailAny for ResultFailAny {
wa.bind_err(f) wa.bind_err(f)
} }
fn bind<'a, A: 'a, E0: 'a, E1: 'a>( fn bind<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>(
wa: <Self::W<E0> as WeakFunctor>::F<'a, A>, wa: <Self::W<E0> as WeakFunctor>::F<'a, A>,
f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, A>, f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, B>,
) -> <Self::W<E1> as WeakFunctor>::F<'a, A> ) -> <Self::W<E1> as WeakFunctor>::F<'a, B>
where where
Self: 'a, Self: 'a,
{ {
@ -309,10 +309,10 @@ impl<T: Monad> MonadFailAny for ResultFailOver<T> {
}) })
} }
fn bind<'a, A: 'a, E0: 'a, E1: 'a>( fn bind<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>(
wa: <Self::W<E0> as WeakFunctor>::F<'a, A>, wa: <Self::W<E0> as WeakFunctor>::F<'a, A>,
f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, A>, f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, B>,
) -> <Self::W<E1> as WeakFunctor>::F<'a, A> ) -> <Self::W<E1> as WeakFunctor>::F<'a, B>
where where
Self: 'a, Self: 'a,
{ {

View File

@ -222,10 +222,10 @@ impl MonadFailAny for FutureFailAny {
}) })
} }
fn bind<'a, A: 'a, E0: 'a, E1: 'a>( fn bind<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>(
wa: <Self::W<E0> as WeakFunctor>::F<'a, A>, wa: <Self::W<E0> as WeakFunctor>::F<'a, A>,
f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, A>, f: impl 'a + FnOnce(Result<A, E0>) -> <Self::W<E1> as WeakFunctor>::F<'a, B>,
) -> <Self::W<E1> as WeakFunctor>::F<'a, A> ) -> <Self::W<E1> as WeakFunctor>::F<'a, B>
where where
Self: 'a, Self: 'a,
{ {