diff --git a/src/rstd/collections/stack.rs b/src/rstd/collections/stack.rs index aca1ee3..2d2796f 100644 --- a/src/rstd/collections/stack.rs +++ b/src/rstd/collections/stack.rs @@ -81,13 +81,13 @@ impl StackNodeFactory { inctx: I, ) -> IParseResult<'a, Ctx, NullableFactory, I> where - F: Factory<'a, Ctx>, + F: FactoryBase<'a, Ctx>, { NullableFactory::new(self.clone()).ideserialize(inctx) } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> FactoryBase<'a, Ctx> for StackNodeFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> FactoryBase<'a, Ctx> for StackNodeFactory { type Mtbl = StackNode<'a, Ctx, F::Mtbl>; type ParseError = StackParseError>; diff --git a/src/rstd/collections/tree.rs b/src/rstd/collections/tree.rs index 82cd444..3bfdb22 100644 --- a/src/rstd/collections/tree.rs +++ b/src/rstd/collections/tree.rs @@ -131,7 +131,7 @@ impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> Mentionable<'a, Ctx> for Tre } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> FactoryBase<'a, Ctx> for NodeFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> FactoryBase<'a, Ctx> for NodeFactory { type Mtbl = Node<'a, Ctx, F::Mtbl>; type ParseError = TreeParseError; @@ -155,13 +155,13 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for NodeFactory } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> FactoryBase<'a, Ctx> for TreeFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> FactoryBase<'a, Ctx> for TreeFactory { type Mtbl = Tree<'a, Ctx, F::Mtbl>; type ParseError = TreeParseError; } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for TreeFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> Factory<'a, Ctx> for TreeFactory { fn deserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { self.ideserialize(inctx).seal() } @@ -173,7 +173,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for TreeFactory } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> InlineableFactory<'a, Ctx> for TreeFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> InlineableFactory<'a, Ctx> for TreeFactory { fn extension_error(&self, tail: &[u8]) -> Self::ParseError { u64::a_extension_error(tail).into() } diff --git a/src/rstd/inlining.rs b/src/rstd/inlining.rs index 9ad1ea1..2a77e11 100644 --- a/src/rstd/inlining.rs +++ b/src/rstd/inlining.rs @@ -13,7 +13,7 @@ use super::{ pub type IParseResult<'a, Ctx, F, I> = Result<(Mtbl<'a, Ctx, F>, I), ParseError<'a, Ctx, F>>; /// This factory should return an error on EOF. -pub trait InlineableFactory<'a, Ctx: Context<'a>>: Factory<'a, Ctx> { +pub trait InlineableFactory<'a, Ctx: Context<'a>>: FactoryBase<'a, Ctx> { fn extension_error(&self, tail: &[u8]) -> Self::ParseError; fn ideserialize>(&self, inctx: I) -> IParseResult<'a, Ctx, Self, I>; @@ -233,7 +233,7 @@ impl<'a, Ctx: Context<'a>, F: AlwaysConstSize + InlineableFactory<'a, Ctx>> const SIZE: usize = Self::_SIZE; } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> InlineableFactory<'a, Ctx> for PointFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> InlineableFactory<'a, Ctx> for PointFactory { fn extension_error(&self, tail: &[u8]) -> Self::ParseError { PointParseError::WrongLength(HASH_SIZE + tail.len()) } diff --git a/src/rstd/nullable.rs b/src/rstd/nullable.rs index 86d2836..67bd9fb 100644 --- a/src/rstd/nullable.rs +++ b/src/rstd/nullable.rs @@ -50,13 +50,13 @@ impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> Mentionable<'a, Ctx> for Nul } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> FactoryBase<'a, Ctx> for NullableFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> FactoryBase<'a, Ctx> for NullableFactory { type Mtbl = Nullable<'a, Ctx, F::Mtbl>; type ParseError = PointParseError; } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for NullableFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> Factory<'a, Ctx> for NullableFactory { fn deserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { self.ideserialize(inctx).seal() } @@ -107,7 +107,9 @@ impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> Clone for Nullable<'a, Ctx, } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> InlineableFactory<'a, Ctx> for NullableFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> InlineableFactory<'a, Ctx> + for NullableFactory +{ fn extension_error(&self, tail: &[u8]) -> Self::ParseError { PointParseError::WrongLength(HASH_SIZE + tail.len()) } diff --git a/src/rstd/point.rs b/src/rstd/point.rs index f7014c2..3226a5d 100644 --- a/src/rstd/point.rs +++ b/src/rstd/point.rs @@ -68,13 +68,13 @@ impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> AsRef<[u8]> for Point<'a, Ct } } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> FactoryBase<'a, Ctx> for PointFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> FactoryBase<'a, Ctx> for PointFactory { type Mtbl = Point<'a, Ctx, F::Mtbl>; type ParseError = PointParseError; } -impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for PointFactory { +impl<'a, Ctx: Context<'a>, F: FactoryBase<'a, Ctx>> Factory<'a, Ctx> for PointFactory { fn deserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { let (point, _) = inctx.icnext_point(self.inner(), |slice| PointParseError::from(slice))?; Ok(point)