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ยง
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ยง
ยงimpl IntoDeserializer<'_, Error> for Map<String, Value>
impl IntoDeserializer<'_, Error> for Map<String, Value>
type Deserializer = Map<String, Value>
fn into_deserializer(self) -> Map<String, Value>
ยงimpl IntoDeserializer<'_, Error> for Value
impl IntoDeserializer<'_, Error> for Value
type Deserializer = Value
fn into_deserializer(self) -> Value
Sourceยงimpl<'de> IntoDeserializer<'de, DeserializerError> for Value
impl<'de> IntoDeserializer<'de, DeserializerError> for Value
type Deserializer = Value
fn into_deserializer(self) -> Value
Sourceยงimpl<'de> IntoDeserializer<'de, Error> for &'de Value
impl<'de> IntoDeserializer<'de, Error> for &'de Value
type Deserializer = &'de Value
fn into_deserializer( self, ) -> <&'de Value as IntoDeserializer<'de, Error>>::Deserializer
Sourceยงimpl<'de> IntoDeserializer<'de, Error> for &'de Map<String, Value>
impl<'de> IntoDeserializer<'de, Error> for &'de Map<String, Value>
type Deserializer = &'de Map<String, Value>
fn into_deserializer( self, ) -> <&'de Map<String, Value> as IntoDeserializer<'de, Error>>::Deserializer
Sourceยงimpl<'de> IntoDeserializer<'de, Error> for &'de RawValue
impl<'de> IntoDeserializer<'de, Error> for &'de RawValue
type Deserializer = &'de RawValue
fn into_deserializer( self, ) -> <&'de RawValue as IntoDeserializer<'de, Error>>::Deserializer
Sourceยงimpl<'de> IntoDeserializer<'de, Error> for Value
impl<'de> IntoDeserializer<'de, Error> for Value
type Deserializer = Value
fn into_deserializer( self, ) -> <Value as IntoDeserializer<'de, Error>>::Deserializer
Sourceยงimpl<'de> IntoDeserializer<'de, Error> for Map<String, Value>
impl<'de> IntoDeserializer<'de, Error> for Map<String, Value>
type Deserializer = Map<String, Value>
fn into_deserializer( self, ) -> <Map<String, Value> as IntoDeserializer<'de, Error>>::Deserializer
ยงimpl<'de> IntoDeserializer<'de, Error> for Deserializer
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>
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>>
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>>>>
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>
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 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>
Sourceยงimpl<'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>
Sourceยงimpl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>where
E: Error,
Available on crate features std or alloc only.
impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>where
E: Error,
Available on crate features
std or alloc only.type Deserializer = CowStrDeserializer<'a, E>
fn into_deserializer(self) -> CowStrDeserializer<'a, E>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for f64where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for f64where
E: Error,
type Deserializer = F64Deserializer<E>
fn into_deserializer(self) -> F64Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for i8where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for i8where
E: Error,
type Deserializer = I8Deserializer<E>
fn into_deserializer(self) -> I8Deserializer<E>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for i64where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for i64where
E: Error,
type Deserializer = I64Deserializer<E>
fn into_deserializer(self) -> I64Deserializer<E>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for u32where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for u32where
E: Error,
type Deserializer = U32Deserializer<E>
fn into_deserializer(self) -> U32Deserializer<E>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'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>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for usizewhere
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for usizewhere
E: Error,
type Deserializer = UsizeDeserializer<E>
fn into_deserializer(self) -> UsizeDeserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for Stringwhere
E: Error,
Available on crate features std or alloc only.
impl<'de, E> IntoDeserializer<'de, E> for Stringwhere
E: Error,
Available on crate features
std or alloc only.type Deserializer = StringDeserializer<E>
fn into_deserializer(self) -> StringDeserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for ValueDeserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for ValueDeserializer<E>where
E: Error,
type Deserializer = ValueDeserializer<E>
fn into_deserializer( self, ) -> <ValueDeserializer<E> as IntoDeserializer<'de, E>>::Deserializer
Sourceยงimpl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
Available on crate features std or alloc only.
impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
Available on crate features
std or alloc only.type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>
fn into_deserializer( self, ) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer
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,
Available on crate feature std only.
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,
Available on crate feature
std only.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
ยง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,
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>
Available on crate features std or alloc only.
impl<'de, T, E> IntoDeserializer<'de, E> for BTreeSet<T>
Available on crate features
std or alloc only.type Deserializer = SeqDeserializer<<BTreeSet<T> as IntoIterator>::IntoIter, E>
fn into_deserializer( self, ) -> <BTreeSet<T> as IntoDeserializer<'de, E>>::Deserializer
Sourceยงimpl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>where
T: IntoDeserializer<'de, E>,
E: Error,
Available on crate features std or alloc only.
impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>where
T: IntoDeserializer<'de, E>,
E: Error,
Available on crate features
std or alloc only.type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>
fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer โ
Sourceยงimpl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
Available on crate feature std only.
impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
Available on crate feature
std only.type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>
fn into_deserializer( self, ) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer
ยงimpl<'de, T, S, E> IntoDeserializer<'de, E> for IndexSet<T, S>
impl<'de, T, S, E> IntoDeserializer<'de, E> for IndexSet<T, S>
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,
impl<'de, 'a, E> IntoDeserializer<'de, E> for BytesDeserializer<'a, E>where
E: Error,
type Deserializer = BytesDeserializer<'a, E>
Sourceยงimpl<'de, 'a, E> IntoDeserializer<'de, E> for CowStrDeserializer<'a, E>where
E: Error,
Available on crate features std or alloc only.
impl<'de, 'a, E> IntoDeserializer<'de, E> for CowStrDeserializer<'a, E>where
E: Error,
Available on crate features
std or alloc only.type Deserializer = CowStrDeserializer<'a, E>
Sourceยงimpl<'de, 'a, E> IntoDeserializer<'de, E> for StrDeserializer<'a, E>where
E: Error,
impl<'de, 'a, E> IntoDeserializer<'de, E> for StrDeserializer<'a, E>where
E: Error,
type Deserializer = StrDeserializer<'a, E>
Sourceยงimpl<'de, A> IntoDeserializer<'de, <A as EnumAccess<'de>>::Error> for EnumAccessDeserializer<A>where
A: EnumAccess<'de>,
impl<'de, A> IntoDeserializer<'de, <A as EnumAccess<'de>>::Error> for EnumAccessDeserializer<A>where
A: EnumAccess<'de>,
type Deserializer = EnumAccessDeserializer<A>
Sourceยงimpl<'de, A> IntoDeserializer<'de, <A as MapAccess<'de>>::Error> for MapAccessDeserializer<A>where
A: MapAccess<'de>,
impl<'de, A> IntoDeserializer<'de, <A as MapAccess<'de>>::Error> for MapAccessDeserializer<A>where
A: MapAccess<'de>,
type Deserializer = MapAccessDeserializer<A>
Sourceยงimpl<'de, A> IntoDeserializer<'de, <A as SeqAccess<'de>>::Error> for SeqAccessDeserializer<A>where
A: SeqAccess<'de>,
impl<'de, A> IntoDeserializer<'de, <A as SeqAccess<'de>>::Error> for SeqAccessDeserializer<A>where
A: SeqAccess<'de>,
type Deserializer = SeqAccessDeserializer<A>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for BoolDeserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for BoolDeserializer<E>where
E: Error,
type Deserializer = BoolDeserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for BorrowedBytesDeserializer<'de, E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for BorrowedBytesDeserializer<'de, E>where
E: Error,
type Deserializer = BorrowedBytesDeserializer<'de, E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for BorrowedStrDeserializer<'de, E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for BorrowedStrDeserializer<'de, E>where
E: Error,
type Deserializer = BorrowedStrDeserializer<'de, E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for CharDeserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for CharDeserializer<E>where
E: Error,
type Deserializer = CharDeserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for F32Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for F32Deserializer<E>where
E: Error,
type Deserializer = F32Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for F64Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for F64Deserializer<E>where
E: Error,
type Deserializer = F64Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for I8Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for I8Deserializer<E>where
E: Error,
type Deserializer = I8Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for I16Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for I16Deserializer<E>where
E: Error,
type Deserializer = I16Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for I32Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for I32Deserializer<E>where
E: Error,
type Deserializer = I32Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for I64Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for I64Deserializer<E>where
E: Error,
type Deserializer = I64Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for I128Deserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for I128Deserializer<E>where
E: Error,
type Deserializer = I128Deserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for IsizeDeserializer<E>where
E: Error,
impl<'de, E> IntoDeserializer<'de, E> for IsizeDeserializer<E>where
E: Error,
type Deserializer = IsizeDeserializer<E>
Sourceยงimpl<'de, E> IntoDeserializer<'de, E> for StringDeserializer<E>where
E: Error,
Available on crate features std or alloc only.
impl<'de, E> IntoDeserializer<'de, E> for StringDeserializer<E>where
E: Error,
Available on crate features
std or alloc only.