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, T, E> IntoDeserializer for Vec<T>impl<'de, E> IntoDeserializer for isizeimpl<'de, E> IntoDeserializer for charimpl<'de, I, T, E> IntoDeserializer for SeqDeserializer<I, E>impl<'de, E> IntoDeserializer for i32impl<'de, E> IntoDeserializer for usizeimpl<'de, 'a, E> IntoDeserializer for &'a [u8]impl<'de, E> IntoDeserializer for BorrowedStrDeserializer<'de, E>impl<'de, E> IntoDeserializer for U32Deserializer<E>impl<'de, I, E> IntoDeserializer for MapDeserializer<'de, I, E>impl<'de, E> IntoDeserializer for CharDeserializer<E>impl<'de, T, S, E> IntoDeserializer for HashSet<T, S>impl<'de, E> IntoDeserializer for boolimpl<'de, A> IntoDeserializer for EnumAccessDeserializer<A>impl<'de, E> IntoDeserializer for u16impl<'de, A> IntoDeserializer for SeqAccessDeserializer<A>impl<'de, E> IntoDeserializer for F64Deserializer<E>impl<'de, 'a, E> IntoDeserializer for &'a strimpl<'de, E> IntoDeserializer for F32Deserializer<E>impl<'de, 'a, E> IntoDeserializer for BytesDeserializer<'a, E>impl<'de, 'a, E> IntoDeserializer for CowStrDeserializer<'a, E>impl<'de, E> IntoDeserializer for UsizeDeserializer<E>impl<'de, E> IntoDeserializer for i128impl<'de, 'a, E> IntoDeserializer for StrDeserializer<'a, E>impl<'de, E> IntoDeserializer for f64impl<'de, E> IntoDeserializer for U128Deserializer<E>impl<'de, E> IntoDeserializer for U64Deserializer<E>impl<'de, E> IntoDeserializer for BorrowedBytesDeserializer<'de, E>impl<'de, K, V, S, E> IntoDeserializer for HashMap<K, V, S>impl<'de, E> IntoDeserializer for i16impl<'de, E> IntoDeserializer for U16Deserializer<E>impl<'de, E> IntoDeserializer for u128impl<'de, 'a, E> IntoDeserializer for Cow<'a, str>impl<'de, E> IntoDeserializer for U8Deserializer<E>impl<'de, E> IntoDeserializer for IsizeDeserializer<E>impl<'de, T, E> IntoDeserializer for BTreeSet<T>impl<'de, E> IntoDeserializer for ()impl<'de, E> IntoDeserializer for u8impl<'de, E> IntoDeserializer for u32impl<'de, E> IntoDeserializer for I128Deserializer<E>impl<'de, E> IntoDeserializer for I64Deserializer<E>impl<'de, E> IntoDeserializer for UnitDeserializer<E>impl<'de, E> IntoDeserializer for StringDeserializer<E>impl<'de, E> IntoDeserializer for I32Deserializer<E>impl<'de, E> IntoDeserializer for i64impl<'de, E> IntoDeserializer for f32impl<'de, E> IntoDeserializer for I16Deserializer<E>impl<'de, E> IntoDeserializer for I8Deserializer<E>impl<'de, K, V, E> IntoDeserializer for BTreeMap<K, V>impl<'de, E> IntoDeserializer for i8impl<'de, E> IntoDeserializer for u64impl<'de, A> IntoDeserializer for MapAccessDeserializer<A>impl<'de, E> IntoDeserializer for BoolDeserializer<E>impl<'de, E> IntoDeserializer for String