Skip to main content

DecodeBytesExt

Trait DecodeBytesExt 

Source
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§

Source

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.

Implementors§