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§

source

type Deserializer: Deserializer<'de, Error = E>

The type of the deserializer being converted into.

Required Methods§

source

fn into_deserializer(self) -> Self::Deserializer

Convert this value into a deserializer.

Implementations on Foreign Types§

source§

impl<'de, E> IntoDeserializer<'de, E> for i128where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for charwhere E: Error,

source§

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

source§

impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a strwhere E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for i16where E: Error,

source§

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

source§

impl<'de, E> IntoDeserializer<'de, E> for isizewhere E: Error,

source§

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

source§

impl<'de, E> IntoDeserializer<'de, E> for f64where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for Stringwhere E: Error,

source§

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

source§

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

source§

impl<'de, E> IntoDeserializer<'de, E> for u8where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for f32where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for u32where E: Error,

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,

source§

impl<'de, E> IntoDeserializer<'de, E> for i8where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for usizewhere E: Error,

source§

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

source§

impl<'de, E> IntoDeserializer<'de, E> for boolwhere E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for i32where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for i64where E: Error,

source§

impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T, Global>where T: IntoDeserializer<'de, E>, E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for u128where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for u64where E: Error,

source§

impl<'de, E> IntoDeserializer<'de, E> for u16where E: Error,

source§

impl<'de, T, S, E> IntoDeserializer<'de, E> for IndexSet<T, S>where T: IntoDeserializer<'de, E> + Eq + Hash, S: BuildHasher, E: Error,

source§

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,

source§

impl<'de> IntoDeserializer<'de, Error> for Map<String, Value>

source§

impl<'de> IntoDeserializer<'de, Error> for Value

§

impl<'de> IntoDeserializer<'de, Error> for Value

§

type Deserializer = ValueDeserializer

§

fn into_deserializer( self ) -> <Value as IntoDeserializer<'de, Error>>::Deserializer

§

impl<'de> IntoDeserializer<'de, Error> for ValueDeserializer

§

type Deserializer = ValueDeserializer

§

fn into_deserializer( self ) -> <ValueDeserializer as IntoDeserializer<'de, Error>>::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 Document

§

type Deserializer = Deserializer

§

fn into_deserializer( self ) -> <Document as IntoDeserializer<'de, Error>>::Deserializer

Implementors§

source§

impl<'de> IntoDeserializer<'de, Error> for &'de holochain::prelude::dependencies::kitsune_p2p_types::dependencies::lair_keystore_api::dependencies::serde_json::Value

§

type Deserializer = &'de Value

source§

impl<'de> IntoDeserializer<'de, Error> for holochain::prelude::dependencies::kitsune_p2p_types::dependencies::lair_keystore_api::dependencies::serde_json::Value

source§

impl<'de> IntoDeserializer<'de, Error> for holochain::prelude::dependencies::kitsune_p2p_types::dependencies::lair_keystore_api::dependencies::serde_yaml::Value