pub trait DecodeBytesExt: Deserializable {
// Provided method
fn decode_bytes(
bytes: &[u8],
entity: &'static str,
) -> Result<Self, ConversionError> { ... }
}Expand description
Extension trait on Deserializable types to
deserialize from bytes and wrap errors as ConversionError.
This removes the boilerplate of calling T::read_from_bytes(&bytes) followed by
.map_err(|source| ConversionError::deserialization("T", source)):
ⓘ
// Before:
BlockBody::read_from_bytes(&value.block_body)
.map_err(|source| ConversionError::deserialization("BlockBody", source))
// After:
BlockBody::decode_bytes(&value.block_body, "BlockBody")Provided Methods§
Sourcefn decode_bytes(
bytes: &[u8],
entity: &'static str,
) -> Result<Self, ConversionError>
fn decode_bytes( bytes: &[u8], entity: &'static str, ) -> Result<Self, ConversionError>
Deserialize from bytes, wrapping any error as a ConversionError.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.