ApplicativeSelectExt
lift lifetime
This commit is contained in:
parent
d78879f012
commit
3ab54e29e0
@ -19,17 +19,14 @@ pub trait ApplicativeSelect: Functor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait ApplicativeSelectExt: ApplicativeSelect {
|
pub trait ApplicativeSelectExt<'a>: 'a + ApplicativeSelect {
|
||||||
fn select_map<'a, A: 'a, B: 'a, C: 'a>(
|
fn select_map<A: 'a, B: 'a, C: 'a>(
|
||||||
f: impl 'a + FnOnce(Selected<'a, A, B, Self>) -> C,
|
f: impl 'a + FnOnce(Selected<'a, A, B, Self>) -> C,
|
||||||
fa: Self::F<'a, A>,
|
fa: Self::F<'a, A>,
|
||||||
fb: Self::F<'a, B>,
|
fb: Self::F<'a, B>,
|
||||||
) -> Self::F<'a, C>
|
) -> Self::F<'a, C> {
|
||||||
where
|
|
||||||
Self: 'a,
|
|
||||||
{
|
|
||||||
Self::fmap(f, Self::select(fa, fb))
|
Self::fmap(f, Self::select(fa, fb))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: ApplicativeSelect> ApplicativeSelectExt for T {}
|
impl<'a, T: 'a + ApplicativeSelect> ApplicativeSelectExt<'a> for T {}
|
||||||
|
Loading…
Reference in New Issue
Block a user