diff --git a/src/rstd/atomic.rs b/src/rstd/atomic.rs
index 433eb03..ef2d8a8 100644
--- a/src/rstd/atomic.rs
+++ b/src/rstd/atomic.rs
@@ -12,6 +12,8 @@ use crate::rcore::*;
use super::*;
+pub type AParseResult = Result::AParseError>;
+
/// This trait combines functionality of [`Mentionable`] and [`Factory`],
/// while limiting [`Mentionable::points_typed`] (and corresponding [`Mentionable::topology`])
/// to an empty sequence.
@@ -19,12 +21,12 @@ pub trait Atomic: 'static + Send + Sync + Send + Clone + Serializable {
/// Equivalent of [`Factory::ParseError`].
type AParseError: Error;
/// Static equivalent of [`Factory::deserialize`].
- fn a_deserialize(deserializer: &mut dyn Deserializer) -> Result;
+ fn a_deserialize(deserializer: &mut dyn Deserializer) -> AParseResult;
/// Static equivalent of [`Factory::extend`].
- fn a_extend(self, tail: &[u8]) -> Result;
+ fn a_extend(self, tail: &[u8]) -> AParseResult;
}
-fn _parse_slice(slice: &[u8]) -> Result {
+fn _parse_slice(slice: &[u8]) -> AParseResult {
let mut deserializer = SliceDeserializer::from(slice);
let atomic = A::a_deserialize(&mut deserializer)?;
let tail = deserializer.read_all();
@@ -38,13 +40,11 @@ fn _parse_slice(slice: &[u8]) -> Result {
/// Extension trait to provide method-like utilities associated with [Atomic]s.
pub trait AtomicExt: Atomic {
/// Static equivalent of [`FactoryExt::parse_slice`].
- fn parse_slice(slice: &[u8]) -> Result {
+ fn parse_slice(slice: &[u8]) -> AParseResult {
_parse_slice(slice)
}
- fn o_deserialise<'a, Ctx: Context<'a>>(
- dectx: &mut dyn DeCtx<'a, Ctx>,
- ) -> Result {
+ fn o_deserialise<'a, Ctx: Context<'a>>(dectx: &mut dyn DeCtx<'a, Ctx>) -> AParseResult {
Self::a_deserialize(dectx.deserializer())
}
}
diff --git a/src/rstd/atomic/au64.rs b/src/rstd/atomic/au64.rs
index c651453..bd4555a 100644
--- a/src/rstd/atomic/au64.rs
+++ b/src/rstd/atomic/au64.rs
@@ -37,11 +37,11 @@ impl From<&[u8]> for IntParseError {
impl Atomic for u64 {
type AParseError = IntParseError;
- fn a_deserialize(deserializer: &mut dyn Deserializer) -> Result {
+ fn a_deserialize(deserializer: &mut dyn Deserializer) -> AParseResult {
Ok(u64::from_le_bytes(deserializer.read_n_const::<8>()?))
}
- fn a_extend(self, tail: &[u8]) -> Result {
+ fn a_extend(self, tail: &[u8]) -> AParseResult {
Err(Self::a_extension_error(tail))
}
}
diff --git a/src/rstd/atomic/boolean.rs b/src/rstd/atomic/boolean.rs
index 539beec..2422201 100644
--- a/src/rstd/atomic/boolean.rs
+++ b/src/rstd/atomic/boolean.rs
@@ -44,7 +44,7 @@ impl From<&[u8]> for BooleanParseError {
impl Atomic for bool {
type AParseError = BooleanParseError;
- fn a_deserialize(deserializer: &mut dyn Deserializer) -> Result {
+ fn a_deserialize(deserializer: &mut dyn Deserializer) -> AParseResult {
let byte = deserializer.read_n_const::<1>()?;
match byte[0] {
0 => Ok(false),
@@ -53,7 +53,7 @@ impl Atomic for bool {
}
}
- fn a_extend(self, tail: &[u8]) -> Result {
+ fn a_extend(self, tail: &[u8]) -> AParseResult {
Err(Self::a_extension_error(tail))
}
}
diff --git a/src/rstd/atomic/plain.rs b/src/rstd/atomic/plain.rs
index db71d16..6054522 100644
--- a/src/rstd/atomic/plain.rs
+++ b/src/rstd/atomic/plain.rs
@@ -31,11 +31,11 @@ impl Serializable for Plain {
impl Atomic for Plain {
type AParseError = PlainParseError;
- fn a_deserialize(deserializer: &mut dyn Deserializer) -> Result {
+ fn a_deserialize(deserializer: &mut dyn Deserializer) -> AParseResult {
Ok(Plain::from_slice(deserializer.read_all()))
}
- fn a_extend(mut self, tail: &[u8]) -> Result {
+ fn a_extend(mut self, tail: &[u8]) -> AParseResult {
self.data.extend_from_slice(tail);
Ok(self)
}