pub trait IntoDeserializer<'de, E = Error> where
    E: Error, {
    type Deserializer: Deserializer<'de>
    where
        <Self::Deserializer as Deserializer<'de>>::Error == E;
    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 std::str::FromStr;
use serde::Deserialize;
use serde::de::{value, IntoDeserializer};
#[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
type Deserializer: Deserializer<'de> 
where
    <Self::Deserializer as Deserializer<'de>>::Error == E
type Deserializer: Deserializer<'de> 
where
    <Self::Deserializer as Deserializer<'de>>::Error == E
The type of the deserializer being converted into.
Required Methods
fn into_deserializer(self) -> Self::Deserializer
fn into_deserializer(self) -> Self::Deserializer
Convert this value into a deserializer.
Implementations on Foreign Types
sourceimpl<'de, E> IntoDeserializer<'de, E> for isize where
    E: Error, 
 
impl<'de, E> IntoDeserializer<'de, E> for isize where
    E: Error, 
type Deserializer = IsizeDeserializer<E>
fn into_deserializer(self) -> IsizeDeserializer<E>
sourceimpl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8] where
    E: Error, 
 
impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8] where
    E: Error, 
type Deserializer = BytesDeserializer<'a, E>
fn into_deserializer(self) -> BytesDeserializer<'a, E>
sourceimpl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str where
    E: Error, 
 
impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str where
    E: Error, 
type Deserializer = StrDeserializer<'a, E>
fn into_deserializer(self) -> StrDeserializer<'a, E>
sourceimpl<'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 HashMap<K, V, S> where
    K: IntoDeserializer<'de, E> + Eq + Hash,
    V: IntoDeserializer<'de, E>,
    S: BuildHasher,
    E: Error, 
type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>
fn into_deserializer(
    self
) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer
sourceimpl<'de, T, E> IntoDeserializer<'de, E> for Vec<T, Global> where
    T: IntoDeserializer<'de, E>,
    E: Error, 
 
impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T, Global> where
    T: IntoDeserializer<'de, E>,
    E: Error, 
type Deserializer = SeqDeserializer<<Vec<T, Global> as IntoIterator>::IntoIter, E>
fn into_deserializer(
    self
) -> <Vec<T, Global> as IntoDeserializer<'de, E>>::DeserializerⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator, 
A: Allocator,