From 0c7f29060e0cc8989a94a751adb1897996780814 Mon Sep 17 00:00:00 2001 From: timofey Date: Sat, 20 May 2023 13:12:22 +0000 Subject: [PATCH] proper `MonadFailAny::bind` --- src/func.rs | 6 +++--- src/func/classes/result.rs | 12 ++++++------ src/func/classes/tryfuture.rs | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/func.rs b/src/func.rs index d45ca71..25001f7 100644 --- a/src/func.rs +++ b/src/func.rs @@ -293,10 +293,10 @@ pub trait MonadFailAny { where Self: 'a; - fn bind<'a, A: 'a, E0: 'a, E1: 'a>( + fn bind<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>( wa: as WeakFunctor>::F<'a, A>, - f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, A>, - ) -> as WeakFunctor>::F<'a, A> + f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, B>, + ) -> as WeakFunctor>::F<'a, B> where Self: 'a; diff --git a/src/func/classes/result.rs b/src/func/classes/result.rs index f09178f..93826e9 100644 --- a/src/func/classes/result.rs +++ b/src/func/classes/result.rs @@ -235,10 +235,10 @@ impl MonadFailAny for ResultFailAny { 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: as WeakFunctor>::F<'a, A>, - f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, A>, - ) -> as WeakFunctor>::F<'a, A> + f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, B>, + ) -> as WeakFunctor>::F<'a, B> where Self: 'a, { @@ -309,10 +309,10 @@ impl MonadFailAny for ResultFailOver { }) } - fn bind<'a, A: 'a, E0: 'a, E1: 'a>( + fn bind<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>( wa: as WeakFunctor>::F<'a, A>, - f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, A>, - ) -> as WeakFunctor>::F<'a, A> + f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, B>, + ) -> as WeakFunctor>::F<'a, B> where Self: 'a, { diff --git a/src/func/classes/tryfuture.rs b/src/func/classes/tryfuture.rs index b789643..c242f22 100644 --- a/src/func/classes/tryfuture.rs +++ b/src/func/classes/tryfuture.rs @@ -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: as WeakFunctor>::F<'a, A>, - f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, A>, - ) -> as WeakFunctor>::F<'a, A> + f: impl 'a + FnOnce(Result) -> as WeakFunctor>::F<'a, B>, + ) -> as WeakFunctor>::F<'a, B> where Self: 'a, {