InlineableDeCtx: InlineableDeserializer
This commit is contained in:
parent
5baf4bf4ad
commit
c48dee1fe3
@ -46,24 +46,13 @@ impl<D: ?Sized + Deserializer> InlineableDeserializer for &mut D {
|
||||
}
|
||||
}
|
||||
|
||||
pub trait InlineableDeCtx<'a, Ctx: Context<'a>>: Sized {
|
||||
type D: InlineableDeserializer;
|
||||
|
||||
fn iread_n<A, E>(
|
||||
self,
|
||||
n: usize,
|
||||
ok: impl FnOnce(&[u8]) -> A,
|
||||
err: impl FnOnce(&[u8]) -> E,
|
||||
) -> Result<(A, Self), E>;
|
||||
}
|
||||
pub trait InlineableDeCtx<'a, Ctx: Context<'a>>: InlineableDeserializer {}
|
||||
|
||||
struct InlineableDeCtxT<'a: 'c, 'c, Ctx: Context<'a>> {
|
||||
dectx: &'c mut dyn DeCtx<'a, Ctx>,
|
||||
}
|
||||
|
||||
impl<'a: 'c, 'c, Ctx: Context<'a>> InlineableDeCtx<'a, Ctx> for InlineableDeCtxT<'a, 'c, Ctx> {
|
||||
type D = &'c mut dyn Deserializer;
|
||||
|
||||
impl<'a: 'c, 'c, Ctx: Context<'a>> InlineableDeserializer for InlineableDeCtxT<'a, 'c, Ctx> {
|
||||
fn iread_n<A, E>(
|
||||
self,
|
||||
n: usize,
|
||||
@ -77,6 +66,8 @@ impl<'a: 'c, 'c, Ctx: Context<'a>> InlineableDeCtx<'a, Ctx> for InlineableDeCtxT
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a: 'c, 'c, Ctx: Context<'a>> InlineableDeCtx<'a, Ctx> for InlineableDeCtxT<'a, 'c, Ctx> {}
|
||||
|
||||
pub type IParseResult<'a, Ctx, F, I> =
|
||||
Result<(Mtbl<'a, Ctx, F>, I), <F as Factory<'a, Ctx>>::ParseError>;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user