pub trait ParserRecBody<I: InputBuf>: SpecRecBody {
type EP: DeepView<V = Self::Param>;
type O: DeepView<V = Self::T>;
// Required method
fn parse_body<Exec>(
&self,
param: &Self::EP,
verus_tmp_spec_rec: Ghost<ParamRecSpecs<Self::Param, Self::T>>,
exec_rec: Exec,
ibuf: &I,
) -> PResult<Self::O>
where Exec: Fn(&Self::EP, &I) -> PResult<Self::O>;
}Expand description
Executable parsing for one recursive unfolding.
Required Associated Types§
Required Methods§
Sourcefn parse_body<Exec>(
&self,
param: &Self::EP,
verus_tmp_spec_rec: Ghost<ParamRecSpecs<Self::Param, Self::T>>,
exec_rec: Exec,
ibuf: &I,
) -> PResult<Self::O>
fn parse_body<Exec>( &self, param: &Self::EP, verus_tmp_spec_rec: Ghost<ParamRecSpecs<Self::Param, Self::T>>, exec_rec: Exec, ibuf: &I, ) -> PResult<Self::O>
Execute one recursive unfolding, using exec_rec for all recursive positions in the body.
spec_rec is the ghost/spec callback bundle corresponding to exec_rec.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§impl<'i> ParserRecBody<&'i [u8]> for BerAnyRecBody
Available on crate feature alloc only.
impl<'i> ParserRecBody<&'i [u8]> for BerAnyRecBody
Available on crate feature
alloc only.Source§impl<'i> ParserRecBody<&'i [u8]> for BerBitStringRecBody
Available on crate feature alloc only.
impl<'i> ParserRecBody<&'i [u8]> for BerBitStringRecBody
Available on crate feature
alloc only.Source§impl<'i> ParserRecBody<&'i [u8]> for BerOctetStringRecBody
Available on crate feature alloc only.
impl<'i> ParserRecBody<&'i [u8]> for BerOctetStringRecBody
Available on crate feature
alloc only.