ParseModeExt
docs
This commit is contained in:
parent
e4cb0bd416
commit
9a03e30e16
@ -102,7 +102,9 @@ pub trait ParseMode {
|
||||
type Mode: ?Sized + Mode;
|
||||
}
|
||||
|
||||
/// Extension trait for all [`ParseMode`] types, re-exporting [`Mode`] traits.
|
||||
pub trait ParseModeExt: ParseMode {
|
||||
/// [`Mode::bind`].
|
||||
fn bind<A0, A1, E, I>(
|
||||
s: <Self::Mode as Mode>::ParseSuccess<A0, I>,
|
||||
f: impl FnOnce(A0) -> Result<A1, E>,
|
||||
@ -110,6 +112,7 @@ pub trait ParseModeExt: ParseMode {
|
||||
<Self::Mode as Mode>::bind(s, f)
|
||||
}
|
||||
|
||||
/// [`Mode::map`].
|
||||
fn map<A0, A1, I>(
|
||||
s: <Self::Mode as Mode>::ParseSuccess<A0, I>,
|
||||
f: impl FnOnce(A0) -> A1,
|
||||
@ -117,10 +120,12 @@ pub trait ParseModeExt: ParseMode {
|
||||
<Self::Mode as Mode>::map(s, f)
|
||||
}
|
||||
|
||||
/// [`Mode::seal`].
|
||||
fn seal<A, I>(s: <Self::Mode as Mode>::ParseSuccess<A, I>) -> A {
|
||||
<Self::Mode as Mode>::seal(s)
|
||||
}
|
||||
|
||||
/// [`Mode::smap`].
|
||||
fn smap<A0, A1>(
|
||||
source: <Self::Mode as Mode>::ExtensionSource<A0>,
|
||||
f: impl FnOnce(A0) -> A1,
|
||||
|
Loading…
Reference in New Issue
Block a user