Trait Deserialize

Source
pub trait Deserialize<'de>: Sized {
    // Required method
    fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>;

    // Provided method
    fn deserialize_seq<D: Deserializer<'de>>(
        reader: D,
    ) -> Result<Self, D::Error> { ... }
}
Expand description

A type that can be deserialized from a deserializer. This type has two methods: Deserialize::deserialize and Deserialize::deserialize_seq. The latter is used in cases where types can be constructed from multiple nodes, such as constructing a std::vec::Vec from multiple elements, or a std::string::String from multiple text nodes that are concatenated together.

Required Methods§

Source

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Deserializes a value from a deserializer.

Provided Methods§

Source

fn deserialize_seq<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Deserializes a value from a deserializer, but tries to do it from a sequence of values.

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<'de> Deserialize<'de> for i8

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for i16

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for i32

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for i64

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for i128

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for u8

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for u16

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for u32

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for u64

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for u128

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de> Deserialize<'de> for String

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de, T: Deserialize<'de> + Debug> Deserialize<'de> for Vec<T>

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

fn deserialize_seq<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Source§

impl<'de, T: Deserialize<'de>> Deserialize<'de> for Option<T>

Source§

fn deserialize<D: Deserializer<'de>>(reader: D) -> Result<Self, D::Error>

Implementors§

Source§

impl<'de> Deserialize<'de> for XmlChild

Source§

impl<'de> Deserialize<'de> for XmlValue

Source§

impl<'de> Deserialize<'de> for IgnoredAny

Source§

impl<'de> Deserialize<'de> for XmlAttribute

Source§

impl<'de> Deserialize<'de> for XmlCData

Source§

impl<'de> Deserialize<'de> for XmlComment

Source§

impl<'de> Deserialize<'de> for XmlDecl

Source§

impl<'de> Deserialize<'de> for XmlDoctype

Source§

impl<'de> Deserialize<'de> for XmlElement

Source§

impl<'de> Deserialize<'de> for XmlPI

Source§

impl<'de> Deserialize<'de> for XmlText

Source§

impl<'de, S: FromStr + Deserialize<'de>> Deserialize<'de> for CData<S>

Source§

impl<'de, T: Deserialize<'de> + 'de> Deserialize<'de> for XmlRoot<T>

Source§

impl<'de, T: Deserialize<'de> + FromStr> Deserialize<'de> for Trim<T>

Source§

impl<'de, T: Deserialize<'de>> Deserialize<'de> for XmlSeq<T>