From 1c543f63792d1f2792d1e84054034bf021ba4170 Mon Sep 17 00:00:00 2001 From: timofey Date: Sun, 30 Jul 2023 14:39:57 +0000 Subject: [PATCH] `ParseMode` `type`s --- src/rcore.rs | 7 ++++--- src/rcore/modes.rs | 12 ++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) 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`].