Struct ValueDeserializer

struct ValueDeserializer<'i> { ... }

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

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

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

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

fn into_deserializer(self: Self) -> <Self as >::Deserializer

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

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

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

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>

impl<T> Any for ValueDeserializer<'i>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for ValueDeserializer<'i>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for ValueDeserializer<'i>

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

impl<T> From for ValueDeserializer<'i>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into for ValueDeserializer<'i>

fn into(self: 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 for ValueDeserializer<'i>

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for ValueDeserializer<'i>

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