Trait serde::de::IntoDeserializer[][src]

pub trait IntoDeserializer<'de, E: Error = Error> {
    type Deserializer: Deserializer<'de, Error = E>;
    fn into_deserializer(self) -> Self::Deserializer;
}

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

#[macro_use]
extern crate serde_derive;

extern crate serde;

use std::str::FromStr;
use serde::de::{value, Deserialize, 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())
    }
}

Associated Types

The type of the deserializer being converted into.

Required Methods

Convert this value into a deserializer.

Implementations on Foreign Types

impl<'de, E> IntoDeserializer<'de, E> for () where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for bool where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for i8 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for i16 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for i32 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for i64 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for isize where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for u8 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for u16 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for u64 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for usize where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for f32 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for f64 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for char where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for i128 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for u128 where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for u32 where
    E: Error
[src]

impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str where
    E: Error
[src]

impl<'de, E> IntoDeserializer<'de, E> for String where
    E: Error
[src]

impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str> where
    E: Error
[src]

impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T> where
    T: IntoDeserializer<'de, E>,
    E: Error
[src]

impl<'de, T, E> IntoDeserializer<'de, E> for BTreeSet<T> where
    T: IntoDeserializer<'de, E> + Eq + Ord,
    E: Error
[src]

impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S> where
    T: IntoDeserializer<'de, E> + Eq + Hash,
    S: BuildHasher,
    E: Error
[src]

impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V> where
    K: IntoDeserializer<'de, E> + Eq + Ord,
    V: IntoDeserializer<'de, E>,
    E: Error
[src]

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
[src]

Implementors