diff --git a/src/rcore.rs b/src/rcore.rs index 9bd7d5e..d6d9565 100644 --- a/src/rcore.rs +++ b/src/rcore.rs @@ -76,7 +76,7 @@ pub trait Factory<'a, Ctx: Context<'a>>: 'a + Send + Sync + Clone { addresses: &mut Addresses, ) -> ParseResult<'a, Ctx, Self>; /// Called by finite stream parsers if there's any data left. - fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> Result; + fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self>; } pub type Mtbl<'a, Ctx, F> = >::Mtbl; diff --git a/src/rstd/atomic/atomic_object.rs b/src/rstd/atomic/atomic_object.rs index 9b008e9..f2a37ad 100644 --- a/src/rstd/atomic/atomic_object.rs +++ b/src/rstd/atomic/atomic_object.rs @@ -81,7 +81,7 @@ impl<'a, Ctx: Context<'a>, A: Atomic> Factory<'a, Ctx> for AtomicFactory { Ok(A::a_deserialize(deserializer)?.into()) } - fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> Result { + fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { Ok(A::a_extend(mentionable.atomic, tail)?.into()) } } diff --git a/src/rstd/collections/stack.rs b/src/rstd/collections/stack.rs index ac14123..fca8955 100644 --- a/src/rstd/collections/stack.rs +++ b/src/rstd/collections/stack.rs @@ -102,11 +102,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for StackNodeFa Ok(StackNode { rest, element }) } - fn extend( - &self, - mut mentionable: Self::Mtbl, - tail: &[u8], - ) -> Result { + fn extend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { mentionable.element = self .element_factory .extend(mentionable.element, tail) diff --git a/src/rstd/collections/tree.rs b/src/rstd/collections/tree.rs index f0bdb14..b628aaa 100644 --- a/src/rstd/collections/tree.rs +++ b/src/rstd/collections/tree.rs @@ -151,11 +151,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for NodeFactory Ok(Node { l, r, key }) } - fn extend( - &self, - mut mentionable: Self::Mtbl, - tail: &[u8], - ) -> Result { + fn extend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { mentionable.key = self .0 .extend(mentionable.key, tail) @@ -182,11 +178,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for TreeFactory Ok(tree) } - fn extend( - &self, - mut mentionable: Self::Mtbl, - tail: &[u8], - ) -> Result { + fn extend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { mentionable.height = u64::a_extend(mentionable.height, tail)?; mentionable.validate_height()?; Ok(mentionable) diff --git a/src/rstd/inlining/static_pair.rs b/src/rstd/inlining/static_pair.rs index 939fdb7..8c6f073 100644 --- a/src/rstd/inlining/static_pair.rs +++ b/src/rstd/inlining/static_pair.rs @@ -151,7 +151,7 @@ impl<'a, Ctx: Context<'a>, SP: StaticPair<'a, Ctx>> Factory<'a, Ctx> }) } - fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> Result { + fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { let (_, fb) = SP::factories(&self.factory_data); let (a, b) = mentionable.pair.into_elements(); match fb.extend(b, tail) { diff --git a/src/rstd/nullable.rs b/src/rstd/nullable.rs index 2012e9f..9fed7af 100644 --- a/src/rstd/nullable.rs +++ b/src/rstd/nullable.rs @@ -70,11 +70,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for NullableFac }) } - fn extend( - &self, - _mentionable: Self::Mtbl, - tail: &[u8], - ) -> Result { + fn extend(&self, _mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { Err(PointParseError::WrongLength(HASH_SIZE + tail.len())) } } diff --git a/src/rstd/point.rs b/src/rstd/point.rs index efc20aa..31c7426 100644 --- a/src/rstd/point.rs +++ b/src/rstd/point.rs @@ -76,11 +76,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for PointFactor Ok(addresses.next_point(deserializer, resolver, self.factory.clone())?) } - fn extend( - &self, - _mentionable: Self::Mtbl, - tail: &[u8], - ) -> Result { + fn extend(&self, _mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { Err(PointParseError::WrongLength(HASH_SIZE + tail.len())) } } diff --git a/src/rstd/typeless.rs b/src/rstd/typeless.rs index bbfdcfd..7ba44f3 100644 --- a/src/rstd/typeless.rs +++ b/src/rstd/typeless.rs @@ -107,7 +107,7 @@ impl<'a, Ctx: Context<'a>> Factory<'a, Ctx> for TypelessFactory<'a, Ctx> { } } - fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> Result { + fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { self.t_extend.xt(mentionable, tail) } }