use FallibleWrapped in FallibleContext

This commit is contained in:
AF 2023-07-06 03:34:14 +00:00
parent 99088a1df8
commit 00baa846dd

View File

@ -15,16 +15,12 @@ pub type FallibleWrapped<'a, Ctx, A, E> = Wrap<'a, A, FallibleMonad<'a, Ctx, E>>
/// this is the preferred way to switch between [Wrapped] and [fallible].
pub trait FallibleContext<'a>: Context<'a> {
/// Convert a fallible wrapped into a wrapped result.
fn unstuff<A: 'a, E: 'a>(
wa: WrapE<'a, A, E, <Self as Context<'a>>::Fallible>,
) -> WrapC<'a, Result<A, E>, Self> {
fn unstuff<A: 'a, E: 'a>(wa: FallibleWrapped<'a, Self, A, E>) -> WrapC<'a, Result<A, E>, Self> {
<Self as Context<'a>>::Fallible::unstuff(wa)
}
/// Convert a wrapped result into a fallible wrapped.
fn stuff<A: 'a, E: 'a>(
fa: WrapC<'a, Result<A, E>, Self>,
) -> WrapE<'a, A, E, <Self as Context<'a>>::Fallible> {
fn stuff<A: 'a, E: 'a>(fa: WrapC<'a, Result<A, E>, Self>) -> FallibleWrapped<'a, Self, A, E> {
<Self as Context<'a>>::Fallible::stuff(fa)
}
}