Trait IntoDeserializer

Source
pub trait IntoDeserializer<'de, E = Error>
where E: Error,
{ type Deserializer: Deserializer<'de, Error = E>; // Required method fn into_deserializer(self) -> Self::Deserializer; }
Expand description

Converts an existing value into a Deserializer from which other values can be deserialized.

ยงLifetime

The 'de lifetime of this trait is the lifetime of data that may be borrowed from the resulting Deserializer. See the page Understanding deserializer lifetimes for a more detailed explanation of these lifetimes.

ยงExample

โ“˜
use serde::de::{value, Deserialize, IntoDeserializer};
use serde_derive::Deserialize;
use std::str::FromStr;

#[derive(Deserialize)]
enum Setting {
    On,
    Off,
}

impl FromStr for Setting {
    type Err = value::Error;

    fn from_str(s: &str) -> Result<Self, Self::Err> {
        Self::deserialize(s.into_deserializer())
    }
}

Required Associated Typesยง

Source

type Deserializer: Deserializer<'de, Error = E>

The type of the deserializer being converted into.

Required Methodsยง

Source

fn into_deserializer(self) -> Self::Deserializer

Convert this value into a deserializer.

Implementations on Foreign Typesยง

ยง

impl IntoDeserializer<'_, Error> for Map<String, Value>

ยง

type Deserializer = Map<String, Value>

ยง

fn into_deserializer(self) -> Map<String, Value>

ยง

impl IntoDeserializer<'_, Error> for Value

ยง

type Deserializer = Value

ยง

fn into_deserializer(self) -> Value

Sourceยง

impl<'de> IntoDeserializer<'de, Error> for &'de Value

Sourceยง

impl<'de> IntoDeserializer<'de, Error> for &'de Map<String, Value>

Sourceยง

impl<'de> IntoDeserializer<'de, Error> for &'de RawValue

Sourceยง

impl<'de> IntoDeserializer<'de, Error> for Value

Sourceยง

impl<'de> IntoDeserializer<'de, Error> for Map<String, Value>

ยง

impl<'de> IntoDeserializer<'de, Error> for Deserializer

ยง

type Deserializer = Deserializer

ยง

fn into_deserializer( self, ) -> <Deserializer as IntoDeserializer<'de, Error>>::Deserializer

ยง

impl<'de> IntoDeserializer<'de, Error> for Deserializer<'de>

ยง

type Deserializer = Deserializer<'de>

ยง

fn into_deserializer( self, ) -> <Deserializer<'de> as IntoDeserializer<'de, Error>>::Deserializer

ยง

impl<'de> IntoDeserializer<'de, Error> for Spanned<DeValue<'de>>

ยง

type Deserializer = ValueDeserializer<'de>

ยง

fn into_deserializer( self, ) -> <Spanned<DeValue<'de>> as IntoDeserializer<'de, Error>>::Deserializer

ยง

impl<'de> IntoDeserializer<'de, Error> for Spanned<Map<Spanned<Cow<'de, str>>, Spanned<DeValue<'de>>>>

ยง

type Deserializer = Deserializer<'de>

ยง

fn into_deserializer( self, ) -> <Spanned<Map<Spanned<Cow<'de, str>>, Spanned<DeValue<'de>>>> as IntoDeserializer<'de, Error>>::Deserializer

ยง

impl<'de> IntoDeserializer<'de, Error> for ValueDeserializer<'de>

ยง

type Deserializer = ValueDeserializer<'de>

ยง

fn into_deserializer( self, ) -> <ValueDeserializer<'de> as IntoDeserializer<'de, Error>>::Deserializer

Sourceยง

impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
where E: Error,

Sourceยง

impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
where E: Error,

Sourceยง

impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for bool
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for char
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for f32
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for f64
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for i8
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for i16
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for i32
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for i64
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for i128
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for isize
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for u8
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for u16
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for u32
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for u64
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for u128
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for ()
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for usize
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for String
where E: Error,

Sourceยง

impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
where K: IntoDeserializer<'de, E> + Eq + Ord, V: IntoDeserializer<'de, E>, E: Error,

Sourceยง

impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
where K: IntoDeserializer<'de, E> + Eq + Hash, V: IntoDeserializer<'de, E>, S: BuildHasher, E: Error,

ยง

impl<'de, K, V, S, E> IntoDeserializer<'de, E> for IndexMap<K, V, S>
where K: IntoDeserializer<'de, E> + Eq + Hash, V: IntoDeserializer<'de, E>, S: BuildHasher, E: Error,

ยง

type Deserializer = MapDeserializer<'de, <IndexMap<K, V, S> as IntoIterator>::IntoIter, E>

ยง

fn into_deserializer( self, ) -> <IndexMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

Sourceยง

impl<'de, T, E> IntoDeserializer<'de, E> for BTreeSet<T>
where T: IntoDeserializer<'de, E> + Eq + Ord, E: Error,

Sourceยง

impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>
where T: IntoDeserializer<'de, E>, E: Error,

Sourceยง

impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
where T: IntoDeserializer<'de, E> + Eq + Hash, S: BuildHasher, E: Error,

ยง

impl<'de, T, S, E> IntoDeserializer<'de, E> for IndexSet<T, S>
where T: IntoDeserializer<'de, E> + Eq + Hash, S: BuildHasher, E: Error,

ยง

type Deserializer = SeqDeserializer<<IndexSet<T, S> as IntoIterator>::IntoIter, E>

ยง

fn into_deserializer( self, ) -> <IndexSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

Implementorsยง

Sourceยง

impl<'de, 'a, E> IntoDeserializer<'de, E> for BytesDeserializer<'a, E>
where E: Error,

Sourceยง

impl<'de, 'a, E> IntoDeserializer<'de, E> for CowStrDeserializer<'a, E>
where E: Error,

Sourceยง

impl<'de, 'a, E> IntoDeserializer<'de, E> for StrDeserializer<'a, E>
where E: Error,

Sourceยง

impl<'de, A> IntoDeserializer<'de, <A as EnumAccess<'de>>::Error> for EnumAccessDeserializer<A>
where A: EnumAccess<'de>,

Sourceยง

impl<'de, A> IntoDeserializer<'de, <A as MapAccess<'de>>::Error> for MapAccessDeserializer<A>
where A: MapAccess<'de>,

Sourceยง

impl<'de, A> IntoDeserializer<'de, <A as SeqAccess<'de>>::Error> for SeqAccessDeserializer<A>
where A: SeqAccess<'de>,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for BoolDeserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for BorrowedBytesDeserializer<'de, E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for BorrowedStrDeserializer<'de, E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for CharDeserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for F32Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for F64Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for I8Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for I16Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for I32Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for I64Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for I128Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for IsizeDeserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for StringDeserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for U8Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for U16Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for U32Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for U64Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for U128Deserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for UnitDeserializer<E>
where E: Error,

Sourceยง

impl<'de, E> IntoDeserializer<'de, E> for UsizeDeserializer<E>
where E: Error,

Sourceยง

impl<'de, I, E> IntoDeserializer<'de, E> for MapDeserializer<'de, I, E>
where I: Iterator, <I as Iterator>::Item: Pair, <<I as Iterator>::Item as Pair>::First: IntoDeserializer<'de, E>, <<I as Iterator>::Item as Pair>::Second: IntoDeserializer<'de, E>, E: Error,

Sourceยง

impl<'de, I, T, E> IntoDeserializer<'de, E> for SeqDeserializer<I, E>
where I: Iterator<Item = T>, T: IntoDeserializer<'de, E>, E: Error,