diff --git a/src/rcore/modes.rs b/src/rcore/modes.rs index 1f44f38..773225d 100644 --- a/src/rcore/modes.rs +++ b/src/rcore/modes.rs @@ -264,11 +264,15 @@ pub trait FactoryModeParse<'a, Ctx: Context<'a>>: FactoryBase<'a, Ctx> + ParseMo ) -> ExtensionResultM<'a, Ctx, Self>; } +/// External implementation of [`FactoryModeParse`]. pub trait FactoryModeProxy<'a, Ctx: Context<'a>> { + /// Associated [`FactoryModeParse`]. type F: FactoryBase<'a, Ctx> + ParseMode; + /// External implementation of [`FactoryModeParse::mdeserialize`]. fn pmdeserialize>(f: &Self::F, inctx: I) -> ModeResultM<'a, Ctx, Self::F, I>; + /// External implementation of [`FactoryModeParse::mextend`]. fn pmextend( f: &Self::F, mentionable: ExtensionSourceM<'a, Ctx, Self::F>,