Trait IntoDeserializer
trait IntoDeserializer<'de, E: Error = value::Error>
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())
}
}
Associated Types
type Deserializer: TraitBound { trait_: Path { path: "Deserializer", id: Id(257), args: Some(AngleBracketed { args: [Lifetime("'de")], constraints: [AssocItemConstraint { name: "Error", args: None, binding: Equality(Type(Generic("E"))) }] }) }, generic_params: [], modifier: None }The type of the deserializer being converted into.
Required Methods
fn into_deserializer(self: Self) -> <Self as >::DeserializerConvert this value into a deserializer.
Implementors
impl<'de, E> IntoDeserializer for f32impl<'de, E> IntoDeserializer for i32impl<'de, I, E> IntoDeserializer for MapDeserializer<'de, I, E>impl<'de, E> IntoDeserializer for U32Deserializer<E>impl<'de, A> IntoDeserializer for SeqAccessDeserializer<A>impl<'de, E> IntoDeserializer for f64impl<'de, E> IntoDeserializer for i64impl<'de, E> IntoDeserializer for CharDeserializer<E>impl<'de, E> IntoDeserializer for F64Deserializer<E>impl<'de, E> IntoDeserializer for charimpl<'de, E> IntoDeserializer for i128impl<'de, 'a, E> IntoDeserializer for StrDeserializer<'a, E>impl<'de, E> IntoDeserializer for F32Deserializer<E>impl<'de, T, E> IntoDeserializer for Vec<T>impl<'de, E> IntoDeserializer for UsizeDeserializer<E>impl<'de, E> IntoDeserializer for u32impl<'de, E> IntoDeserializer for isizeimpl<'de, T, E> IntoDeserializer for BTreeSet<T>impl<'de, E> IntoDeserializer for U128Deserializer<E>impl<'de, E> IntoDeserializer for U64Deserializer<E>impl<'de, 'a, E> IntoDeserializer for &'a strimpl<'de, E> IntoDeserializer for u8impl<'de, A> IntoDeserializer for EnumAccessDeserializer<A>impl<'de, T, S, E> IntoDeserializer for HashSet<T, S>impl<'de, E> IntoDeserializer for U16Deserializer<E>impl<'de, E> IntoDeserializer for U8Deserializer<E>impl<'de, E> IntoDeserializer for Stringimpl<'de, 'a, E> IntoDeserializer for BytesDeserializer<'a, E>impl<'de, E> IntoDeserializer for u16impl<'de, E> IntoDeserializer for ()impl<'de, K, V, E> IntoDeserializer for BTreeMap<K, V>impl<'de, E> IntoDeserializer for IsizeDeserializer<E>impl<'de, E> IntoDeserializer for UnitDeserializer<E>impl<'de, E> IntoDeserializer for I128Deserializer<E>impl<'de, E> IntoDeserializer for BorrowedStrDeserializer<'de, E>impl<'de, 'a, E> IntoDeserializer for Cow<'a, str>impl<'de, E> IntoDeserializer for u64impl<'de, E> IntoDeserializer for boolimpl<'de, K, V, S, E> IntoDeserializer for HashMap<K, V, S>impl<'de, E> IntoDeserializer for I64Deserializer<E>impl<'de, E> IntoDeserializer for StringDeserializer<E>impl<'de, 'a, E> IntoDeserializer for CowStrDeserializer<'a, E>impl<'de, E> IntoDeserializer for I32Deserializer<E>impl<'de, 'a, E> IntoDeserializer for &'a [u8]impl<'de, A> IntoDeserializer for MapAccessDeserializer<A>impl<'de, E> IntoDeserializer for u128impl<'de, E> IntoDeserializer for i8impl<'de, E> IntoDeserializer for I16Deserializer<E>impl<'de, E> IntoDeserializer for BorrowedBytesDeserializer<'de, E>impl<'de, E> IntoDeserializer for I8Deserializer<E>impl<'de, E> IntoDeserializer for usizeimpl<'de, E> IntoDeserializer for i16impl<'de, I, T, E> IntoDeserializer for SeqDeserializer<I, E>impl<'de, E> IntoDeserializer for BoolDeserializer<E>