InliningDyn
This commit is contained in:
parent
ca48aba4fb
commit
8cf8680353
@ -88,6 +88,28 @@ impl<'a: 'c, 'c, Ctx: Context<'a>> InCtx<'a, Ctx> for &'c mut dyn DeCtx<'a, Ctx>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub trait InliningDyn: Sized {
|
||||||
|
fn idread_n(self, n: usize) -> Result<(Vec<u8>, Self), Vec<u8>>;
|
||||||
|
|
||||||
|
fn idread_all(self) -> Vec<u8>;
|
||||||
|
|
||||||
|
fn idtell(&self) -> usize;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<I: Inlining> InliningDyn for I {
|
||||||
|
fn idread_n(self, n: usize) -> Result<(Vec<u8>, Self), Vec<u8>> {
|
||||||
|
self.iread_n(n, |slice| Vec::from(slice), |slice| Vec::from(slice))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn idread_all(self) -> Vec<u8> {
|
||||||
|
self.iread_all(|slice| Vec::from(slice))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn idtell(&self) -> usize {
|
||||||
|
self.itell()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub type IParseResult<'a, Ctx, F, I> =
|
pub type IParseResult<'a, Ctx, F, I> =
|
||||||
Result<(Mtbl<'a, Ctx, F>, I), <F as Factory<'a, Ctx>>::ParseError>;
|
Result<(Mtbl<'a, Ctx, F>, I), <F as Factory<'a, Ctx>>::ParseError>;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user