From 805809a7babefeb4f44572f9761bfb5641d8d09a Mon Sep 17 00:00:00 2001 From: timofey Date: Wed, 28 Jun 2023 15:06:27 +0000 Subject: [PATCH] `AtomicExt::o_deserialise` --- src/rstd/atomic.rs | 10 ++++++++-- src/rstd/atomic/atomic_object.rs | 2 +- src/rstd/collections/tree.rs | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/rstd/atomic.rs b/src/rstd/atomic.rs index fc156e6..433eb03 100644 --- a/src/rstd/atomic.rs +++ b/src/rstd/atomic.rs @@ -36,11 +36,17 @@ fn _parse_slice(slice: &[u8]) -> Result { } /// Extension trait to provide method-like utilities associated with [Atomic]s. -pub trait ExtAtomic: Atomic { +pub trait AtomicExt: Atomic { /// Static equivalent of [`FactoryExt::parse_slice`]. fn parse_slice(slice: &[u8]) -> Result { _parse_slice(slice) } + + fn o_deserialise<'a, Ctx: Context<'a>>( + dectx: &mut dyn DeCtx<'a, Ctx>, + ) -> Result { + Self::a_deserialize(dectx.deserializer()) + } } -impl ExtAtomic for A {} +impl AtomicExt for A {} diff --git a/src/rstd/atomic/atomic_object.rs b/src/rstd/atomic/atomic_object.rs index 45d3b36..164c808 100644 --- a/src/rstd/atomic/atomic_object.rs +++ b/src/rstd/atomic/atomic_object.rs @@ -73,7 +73,7 @@ impl<'a, Ctx: Context<'a>, A: Atomic> Factory<'a, Ctx> for AtomicFactory { type ParseError = A::AParseError; fn deserialize(&self, dectx: &mut dyn DeCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { - Ok(A::a_deserialize(dectx.deserializer())?.into()) + Ok(A::o_deserialise(dectx)?.into()) } fn extend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { diff --git a/src/rstd/collections/tree.rs b/src/rstd/collections/tree.rs index 34b54c2..7333134 100644 --- a/src/rstd/collections/tree.rs +++ b/src/rstd/collections/tree.rs @@ -159,7 +159,7 @@ impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx>> Factory<'a, Ctx> for TreeFactory fn deserialize(&self, dectx: &mut dyn DeCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { let node = self.0.deserialize(dectx)?; - let height = u64::a_deserialize(dectx.deserializer())?; + let height = u64::o_deserialise(dectx)?; let tree = Tree { node, height }; tree.validate_height()?; Ok(tree)