diff --git a/src/rcore.rs b/src/rcore.rs index a9e2ff8..4d60003 100644 --- a/src/rcore.rs +++ b/src/rcore.rs @@ -33,8 +33,8 @@ 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::{ - ExtensionResultM, FactoryModeParse, FactoryModeProxy, FactoryProxy, Mode, ParseMode, - ParseResultM, RegularFactory, RegularMode, WithMode, WithParseMode, + ExtensionResultM, FactoryModeParse, FactoryModeProxy, Mode, ParseMode, ParseResultM, + 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 7a1b005..f16a7a7 100644 --- a/src/rcore/modes.rs +++ b/src/rcore/modes.rs @@ -46,17 +46,6 @@ impl WithParseMode for T { pub struct WithMode(PhantomData, T); -pub trait FactoryProxy<'a, Ctx: Context<'a>> { - type F: FactoryBase<'a, Ctx> + ParseMode; - - fn pdeserialize(f: &Self::F, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self::F>; - fn pextend( - f: &Self::F, - mentionable: Mtbl<'a, Ctx, Self::F>, - tail: &[u8], - ) -> ParseResult<'a, Ctx, Self::F>; -} - impl<'a, Ctx: Context<'a>, F: FactoryModeParse<'a, Ctx>> FactoryParse<'a, Ctx> for F { fn deserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { <::Mode as Mode>::seal(self.mdeserialize(inctx)) @@ -161,24 +150,6 @@ pub trait RegularFactory<'a, Ctx: Context<'a>>: fn rextend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self>; } -impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> FactoryProxy<'a, Ctx> - for WithMode -{ - type F = F; - - fn pdeserialize(f: &Self::F, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self::F> { - f.rdeserialize(inctx) - } - - fn pextend( - f: &Self::F, - mentionable: Mtbl<'a, Ctx, Self::F>, - tail: &[u8], - ) -> ParseResult<'a, Ctx, Self::F> { - f.rextend(mentionable, tail) - } -} - impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx> for WithMode { diff --git a/src/rstd/external_points.rs b/src/rstd/external_points.rs index db63a8e..664d924 100644 --- a/src/rstd/external_points.rs +++ b/src/rstd/external_points.rs @@ -4,7 +4,7 @@ pub trait ExternalPoints<'a, Ctx: Context<'a>, T> { fn ex_points_typed(mentionable: &T, points: &mut impl PointsVisitor<'a, Ctx>); } -pub trait ExternalPointsProxy<'a, Ctx: Context<'a>, T>: FactoryProxy<'a, Ctx> { +pub trait ExternalPointsProxy<'a, Ctx: Context<'a>, T>: FactoryModeProxy<'a, Ctx> { fn exp_points_typed(mentionable: &T, points: &mut impl PointsVisitor<'a, Ctx>); } diff --git a/src/rstd/inlining/modes.rs b/src/rstd/inlining/modes.rs index e64e66e..5840288 100644 --- a/src/rstd/inlining/modes.rs +++ b/src/rstd/inlining/modes.rs @@ -46,24 +46,6 @@ impl Mode for InliningMode { } } -impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> FactoryProxy<'a, Ctx> - for WithMode -{ - type F = F; - - fn pdeserialize(f: &Self::F, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self::F> { - f.ideserialize(inctx).seal() - } - - fn pextend( - f: &Self::F, - _mentionable: Mtbl<'a, Ctx, Self::F>, - tail: &[u8], - ) -> ParseResult<'a, Ctx, Self::F> { - Err(f.extension_error(tail)) - } -} - impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx> for WithMode {