From f7549c56914a3242b008495c0782bb7739b08ddf Mon Sep 17 00:00:00 2001 From: timofey Date: Sat, 1 Jul 2023 14:32:02 +0000 Subject: [PATCH] remove dynamic inlining --- src/rstd/inlining.rs | 82 -------------------------------------------- 1 file changed, 82 deletions(-) diff --git a/src/rstd/inlining.rs b/src/rstd/inlining.rs index 3be67cb..2e95787 100644 --- a/src/rstd/inlining.rs +++ b/src/rstd/inlining.rs @@ -10,88 +10,6 @@ use super::{ *, }; -pub type ResultDyn = Result<(A, I), Vec>; - -pub trait InCtxDyn<'a: 'c, 'c, Ctx: Context<'a>>: 'c { - fn idread_n(self, n: usize) -> ResultDyn, Box>>; - - fn idread_all(self) -> Vec; - - fn idtell(&self) -> usize; - - fn idnext_address(self) -> ResultDyn>>; - - fn idresolver(&self) -> Rc>; - - fn iddemote(self) -> Demoted<'a, 'c, Ctx>; -} - -impl<'a: 'c, 'c, Ctx: Context<'a>, I: 'c + InCtx<'a, Ctx>> InCtxDyn<'a, 'c, Ctx> for I { - fn idread_n(self, n: usize) -> ResultDyn, Box>> { - let (vec, i) = self.iread_n(n, |slice| Vec::from(slice), |slice| Vec::from(slice))?; - Ok((vec, Box::new(i))) - } - - fn idread_all(self) -> Vec { - self.iread_all(|slice| Vec::from(slice)) - } - - fn idtell(&self) -> usize { - self.itell() - } - - fn idnext_address(self) -> ResultDyn>> { - let (address, i) = self.icnext_address(|slice| Vec::from(slice))?; - Ok((address, Box::new(i))) - } - - fn idresolver(&self) -> Rc> { - self.iresolver() - } - - fn iddemote(self) -> Demoted<'a, 'c, Ctx> { - self.demote() - } -} - -impl<'a: 'c, 'c, Ctx: Context<'a>> Inlining for Box> { - fn iread_n( - self, - n: usize, - ok: impl FnOnce(&[u8]) -> A, - err: impl FnOnce(&[u8]) -> E, - ) -> Result<(A, Self), E> { - let (vec, i) = self.idread_n(n).map_err(|vec| err(&vec))?; - Ok((ok(&vec), i)) - } - - fn iread_all(self, ok: impl FnOnce(&[u8]) -> A) -> A { - ok(&self.idread_all()) - } - - fn itell(&self) -> usize { - self.idtell() - } -} - -impl<'a: 'c, 'c, Ctx: Context<'a>> InCtx<'a, Ctx> for Box> { - fn icnext_address(self, err: impl FnOnce(&[u8]) -> E) -> Result<(Address, Self), E> { - self.idnext_address().map_err(|vec| err(&vec)) - } - - fn iresolver(&self) -> Rc> { - self.idresolver() - } - - fn demote<'d>(self) -> Demoted<'a, 'd, Ctx> - where - 'a: 'd, - Self: 'd, - { - self.iddemote() - } -} - pub type IParseResult<'a, Ctx, F, I> = Result<(Mtbl<'a, Ctx, F>, I), >::ParseError>;