extra type alias

This commit is contained in:
AF 2023-05-25 13:55:53 +00:00
parent a935ba68f5
commit 8ffaf6be20

View File

@ -3,6 +3,8 @@ use super::*;
type Fwa<'a, A, E0, E1, Fallible> = type Fwa<'a, A, E0, E1, Fallible> =
Wrap<'a, Result<WrapE<'a, A, E0, Fallible>, E1>, <Fallible as MonadFailAny>::T>; Wrap<'a, Result<WrapE<'a, A, E0, Fallible>, E1>, <Fallible as MonadFailAny>::T>;
type Wwa<'a, A, E0, E1, Fallible> = WrapE<'a, WrapE<'a, A, E0, Fallible>, E1, Fallible>;
pub trait SpeculativeFail: MonadFailAny { pub trait SpeculativeFail: MonadFailAny {
fn _speculative_a_wb<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>( fn _speculative_a_wb<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>(
a: Result<A, E0>, a: Result<A, E0>,
@ -80,8 +82,8 @@ pub trait SpeculativeFail: MonadFailAny {
} }
fn speculative<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>( fn speculative<'a, A: 'a, B: 'a, E0: 'a, E1: 'a>(
wwa: WrapE<'a, WrapE<'a, A, E0, Self>, E1, Self>, wwa: Wwa<'a, A, E0, E1, Self>,
wwb: WrapE<'a, WrapE<'a, B, E0, Self>, E1, Self>, wwb: Wwa<'a, B, E0, E1, Self>,
) -> WrapE<'a, (A, B), Result<E0, E1>, Self> ) -> WrapE<'a, (A, B), Result<E0, E1>, Self>
where where
Self: 'a, Self: 'a,