diff --git a/src/rcore.rs b/src/rcore.rs index 3477aca..1ca6e63 100644 --- a/src/rcore.rs +++ b/src/rcore.rs @@ -33,9 +33,10 @@ pub use self::hashing::{Hash, HASH_SIZE, HASH_ZEROS}; pub use self::inctx::InCtx; pub use self::inlining::{Inlining, InliningExt, InliningResultExt}; pub use self::modes::{ - ExtensionResult, ExtensionResultM, ExtensionSource, ExtensionSourceM, FactoryModeParse, - FactoryModeProxy, ImplMode, Mode, ModeResult, ParseMode, ParseModeExt, ParseResultM, - QRegularFactory, RegularFactory, RegularMode, WithMode, WithParseMode, + ExtensionResult, ExtensionResultM, ExtensionResultP, ExtensionSource, ExtensionSourceM, + ExtensionSourceP, FactoryModeParse, FactoryModeProxy, ImplMode, Mode, ModeResult, ModeResultP, + ParseMode, ParseModeExt, ParseResultM, ParseSuccess, ParseSuccessP, QRegularFactory, + RegularFactory, RegularMode, WithMode, WithParseMode, }; pub use self::origin::{OFctr, Origin}; pub use self::point::Point; diff --git a/src/rcore/modes.rs b/src/rcore/modes.rs index 1b5d0ea..7ef38d2 100644 --- a/src/rcore/modes.rs +++ b/src/rcore/modes.rs @@ -111,6 +111,18 @@ pub trait ParseMode { type Mode: ?Sized + Mode; } +/// [`ParseMode`] equivalent of [`ParseSuccess`]. +pub type ParseSuccessP = ParseSuccess<::Mode, A, I>; + +/// [`ParseMode`] equivalent of [`ExtensionResult`]. +pub type ExtensionResultP = ExtensionResult<::Mode, A, E>; + +/// [`ParseMode`] equivalent of [`ExtensionSource`]. +pub type ExtensionSourceP = ExtensionSource<::Mode, A>; + +/// [`ParseMode`] equivalent of [`ParseResult`]. +pub type ModeResultP = ModeResult<::Mode, A, E, I>; + /// Extension trait for all [`ParseMode`] types, re-exporting [`Mode`] traits. pub trait ParseModeExt: ParseMode { /// [`Mode::bind`].