pub trait IntoDeserializer<'de, E = Error>where
E: Error,{
type Deserializer: 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
sourcetype Deserializer: Deserializer<'de, Error = E>
type Deserializer: Deserializer<'de, Error = E>
The type of the deserializer being converted into.
Required Methods
sourcefn into_deserializer(self) -> Self::Deserializer
fn into_deserializer(self) -> Self::Deserializer
Convert this value into a deserializer.
Implementations on Foreign Types
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, E> IntoDeserializer<'de, E> for i128where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for i128where
E: Error,
type Deserializer = I128Deserializer<E>
fn into_deserializer(self) -> I128Deserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for u16where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for u16where
E: Error,
type Deserializer = U16Deserializer<E>
fn into_deserializer(self) -> U16Deserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for ()where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for ()where
E: Error,
type Deserializer = UnitDeserializer<E>
fn into_deserializer(self) -> UnitDeserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for charwhere
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for charwhere
E: Error,
type Deserializer = CharDeserializer<E>
fn into_deserializer(self) -> CharDeserializer<E>
sourceimpl<'de, 'a, E> IntoDeserializer<'de, E> for &'a strwhere
E: Error,
impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a strwhere
E: Error,
type Deserializer = StrDeserializer<'a, E>
fn into_deserializer(self) -> StrDeserializer<'a, E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for i32where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for i32where
E: Error,
type Deserializer = I32Deserializer<E>
fn into_deserializer(self) -> I32Deserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for u128where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for u128where
E: Error,
type Deserializer = U128Deserializer<E>
fn into_deserializer(self) -> U128Deserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for u64where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for u64where
E: Error,
type Deserializer = U64Deserializer<E>
fn into_deserializer(self) -> U64Deserializer<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, E> IntoDeserializer<'de, E> for u8where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for u8where
E: Error,
type Deserializer = U8Deserializer<E>
fn into_deserializer(self) -> U8Deserializer<E>
sourceimpl<'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 HashSet<T, S>where
T: IntoDeserializer<'de, E> + Eq + Hash,
S: BuildHasher,
E: Error,
type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>
fn into_deserializer(
self
) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer
sourceimpl<'de, E> IntoDeserializer<'de, E> for boolwhere
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for boolwhere
E: Error,
type Deserializer = BoolDeserializer<E>
fn into_deserializer(self) -> BoolDeserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for isizewhere
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for isizewhere
E: Error,
type Deserializer = IsizeDeserializer<E>
fn into_deserializer(self) -> IsizeDeserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for i16where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for i16where
E: Error,
type Deserializer = I16Deserializer<E>
fn into_deserializer(self) -> I16Deserializer<E>
sourceimpl<'de, E> IntoDeserializer<'de, E> for f32where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for f32where
E: Error,
type Deserializer = F32Deserializer<E>
fn into_deserializer(self) -> F32Deserializer<E>
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,