Deserializable

Trait Deserializable 

Source
pub trait Deserializable: Slice
where Self::Item: for<'a> Deserialize<'a>, Self::TryFromSliceError: Display,
{ // Required methods fn deserialize<'de, D: Deserializer<'de>, V: Visitor<'de>>( deserializer: D, visitor: V, ) -> Result<V::Value, D::Error>; fn expecting(f: &mut Formatter<'_>) -> Result; fn deserialize_from_bytes<E: Error>(bytes: &[u8]) -> Result<&Self, E>; fn deserialize_from_byte_buf<E: Error>( bytes: Vec<u8>, ) -> Result<Self::Vec, E>; fn deserialize_from_str<E: Error>(s: &str) -> Result<&Self, E>; fn deserialize_from_string<E: Error>(s: String) -> Result<Self::Vec, E>; fn try_deserialize_from_seq() -> bool; }
Available on crate feature serde only.
Expand description

A slice that can be deserialized according to the serde data model

Required Methods§

Source

fn deserialize<'de, D: Deserializer<'de>, V: Visitor<'de>>( deserializer: D, visitor: V, ) -> Result<V::Value, D::Error>

Deserializes a slice with the given visitor.

Source

fn expecting(f: &mut Formatter<'_>) -> Result

What data the visitor expects to receive.

Source

fn deserialize_from_bytes<E: Error>(bytes: &[u8]) -> Result<&Self, E>

Deserializes a slice from bytes.

Source

fn deserialize_from_byte_buf<E: Error>(bytes: Vec<u8>) -> Result<Self::Vec, E>

Deserializes a vector from owned bytes.

Source

fn deserialize_from_str<E: Error>(s: &str) -> Result<&Self, E>

Deserializes a slice from string.

Source

fn deserialize_from_string<E: Error>(s: String) -> Result<Self::Vec, E>

Deserializes a slice from owned string.

Source

fn try_deserialize_from_seq() -> bool

Tries deserializing a slice from a sequence.

The sequence will be collected into an ArcSliceMut<[S::Item]> before calling ArcSliceMut::try_from_arc_slice_mut.

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.

Implementations on Foreign Types§

Source§

impl Deserializable for str

Source§

fn deserialize<'de, D: Deserializer<'de>, V: Visitor<'de>>( deserializer: D, visitor: V, ) -> Result<V::Value, D::Error>

Source§

fn expecting(f: &mut Formatter<'_>) -> Result

Source§

fn deserialize_from_bytes<E: Error>(bytes: &[u8]) -> Result<&Self, E>

Source§

fn deserialize_from_byte_buf<E: Error>(bytes: Vec<u8>) -> Result<Self::Vec, E>

Source§

fn deserialize_from_str<E: Error>(s: &str) -> Result<&Self, E>

Source§

fn deserialize_from_string<E: Error>(s: String) -> Result<Self::Vec, E>

Source§

fn try_deserialize_from_seq() -> bool

Source§

impl Deserializable for BStr

Available on crate feature bstr only.
Source§

fn deserialize<'de, D: Deserializer<'de>, V: Visitor<'de>>( deserializer: D, visitor: V, ) -> Result<V::Value, D::Error>

Source§

fn expecting(f: &mut Formatter<'_>) -> Result

Source§

fn deserialize_from_bytes<E: Error>(bytes: &[u8]) -> Result<&Self, E>

Source§

fn deserialize_from_byte_buf<E: Error>(bytes: Vec<u8>) -> Result<Self::Vec, E>

Source§

fn deserialize_from_str<E: Error>(s: &str) -> Result<&Self, E>

Source§

fn deserialize_from_string<E: Error>(s: String) -> Result<Self::Vec, E>

Source§

fn try_deserialize_from_seq() -> bool

Source§

impl<T: for<'a> Deserialize<'a> + Send + Sync + 'static> Deserializable for [T]

Source§

fn deserialize<'de, D: Deserializer<'de>, V: Visitor<'de>>( deserializer: D, visitor: V, ) -> Result<V::Value, D::Error>

Source§

fn expecting(f: &mut Formatter<'_>) -> Result

Source§

fn deserialize_from_bytes<E: Error>(bytes: &[u8]) -> Result<&Self, E>

Source§

fn deserialize_from_byte_buf<E: Error>(bytes: Vec<u8>) -> Result<Self::Vec, E>

Source§

fn deserialize_from_str<E: Error>(s: &str) -> Result<&Self, E>

Source§

fn deserialize_from_string<E: Error>(s: String) -> Result<Self::Vec, E>

Source§

fn try_deserialize_from_seq() -> bool

Implementors§