Struct ValueDeserializer

pub struct ValueDeserializer<'i> { /* private fields */ }

Deserialization implementation for TOML [values][crate::Value].

Example

# #[cfg(feature = "parse")] {
# #[cfg(feature = "display")] {
use serde::Deserialize;

#[derive(Deserialize)]
struct Config {
    title: String,
    owner: Owner,
}

#[derive(Deserialize)]
struct Owner {
    name: String,
}

let value = r#"{ title = 'TOML Example', owner = { name = 'Lisa' } }"#;
let deserializer = toml::de::ValueDeserializer::parse(value).unwrap();
let config = Config::deserialize(deserializer).unwrap();
assert_eq!(config.title, "TOML Example");
assert_eq!(config.owner.name, "Lisa");
# }
# }

Implementations

impl<'i> ValueDeserializer<'i>

fn parse(raw: &'i str) -> Result<Self, Error>

Parse a TOML value

fn new(raw: &'i str) -> Result<Self, Error>

Deprecated, replaced with ValueDeserializer::parse

Trait Implementations

impl<'de> Deserializer<'de> for ValueDeserializer<'de>

type Error = Error;
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
where
    V: Visitor<'de>,
fn deserialize_u128<V>(self, visitor: V) -> Result<V::Value, Error>
where
    V: Visitor<'de>,
fn deserialize_i128<V>(self, visitor: V) -> Result<V::Value, Error>
where
    V: Visitor<'de>,
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>
where
    V: Visitor<'de>,
fn deserialize_newtype_struct<V>(self, _name: &'static str, visitor: V) -> Result<V::Value, Error>
where
    V: Visitor<'de>,
fn deserialize_struct<V>(self, name: &'static str, fields: &'static [&'static str], visitor: V) -> Result<V::Value, Error>
where
    V: Visitor<'de>,
fn deserialize_enum<V>(self, name: &'static str, variants: &'static [&'static str], visitor: V) -> Result<V::Value, Error>
where
    V: Visitor<'de>,
fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_str<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_unit_struct<V>(self, name: &'static str, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_tuple_struct<V>(self, name: &'static str, len: usize, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_tuple<V>(self, len: usize, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,
fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error>
where
    V: Visitor<'de>,

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

type Deserializer = ValueDeserializer<'de>;
fn into_deserializer(self) -> Self::Deserializer

impl<'i> From<Spanned<DeValue<'i>>> for ValueDeserializer<'i>

fn from(root: Spanned<DeValue<'i>>) -> Self

Auto Trait Implementations

impl<'i> Freeze for ValueDeserializer<'i>

impl<'i> RefUnwindSafe for ValueDeserializer<'i>

impl<'i> Send for ValueDeserializer<'i>

impl<'i> Sync for ValueDeserializer<'i>

impl<'i> Unpin for ValueDeserializer<'i>

impl<'i> UnsafeUnpin for ValueDeserializer<'i>

impl<'i> UnwindSafe for ValueDeserializer<'i>

Blanket Implementations

impl<T> Any for ValueDeserializer<'i> where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for ValueDeserializer<'i> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for ValueDeserializer<'i> where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for ValueDeserializer<'i>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for ValueDeserializer<'i> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for ValueDeserializer<'i> where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for ValueDeserializer<'i> where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>