pub struct Visitor<F, S> { /* private fields */ }
Expand description
A visitor that can be used to deserialize a tuple-based adjacently tagged value.
This visitor handles a tuple-based adjacently tagged value, which is represented by a tuple containing exactly two elements. The first element of this tuple is the tag, the second element the value. Thus this visitor will return an error if the visited type is not a tuple (i.e. sequence) with two elements.
The SeedFactory
provided to this visitor
provides a serde::de::DeserializeSeed
implementation depending on the tag,
which then determines how the value is going to be deserialized.
See de
for more information on
SeedFactory
and implementations thereof.
Implementations§
Trait Implementations§
source§impl<'de, F, S> Visitor<'de> for Visitor<F, S>
impl<'de, F, S> Visitor<'de> for Visitor<F, S>
§type Value = <F as SeedFactory<'de, <S as DeserializeSeed<'de>>::Value>>::Value
type Value = <F as SeedFactory<'de, <S as DeserializeSeed<'de>>::Value>>::Value
The value produced by this visitor.
source§fn expecting(&self, fmtr: &mut Formatter<'_>) -> Result
fn expecting(&self, fmtr: &mut Formatter<'_>) -> Result
Format a message stating what data this Visitor expects to receive. Read more
source§fn visit_seq<A>(self, seq: A) -> Result<Self::Value, A::Error>where
A: SeqAccess<'de>,
fn visit_seq<A>(self, seq: A) -> Result<Self::Value, A::Error>where
A: SeqAccess<'de>,
The input contains a sequence of elements. Read more
source§fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E>where
E: Error,
fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E>where
E: Error,
The input contains a boolean. Read more
source§fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>where
E: Error,
fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>where
E: Error,
The input contains an
i8
. Read moresource§fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>where
E: Error,
fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>where
E: Error,
The input contains an
i16
. Read moresource§fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>where
E: Error,
fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>where
E: Error,
The input contains an
i32
. Read moresource§fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>where
E: Error,
fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>where
E: Error,
The input contains an
i64
. Read moresource§fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>where
E: Error,
fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>where
E: Error,
The input contains a
i128
. Read moresource§fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>where
E: Error,
fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>where
E: Error,
The input contains a
u8
. Read moresource§fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>where
E: Error,
fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>where
E: Error,
The input contains a
u16
. Read moresource§fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>where
E: Error,
fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>where
E: Error,
The input contains a
u32
. Read moresource§fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>where
E: Error,
fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>where
E: Error,
The input contains a
u64
. Read moresource§fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>where
E: Error,
fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>where
E: Error,
The input contains a
u128
. Read moresource§fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>where
E: Error,
fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>where
E: Error,
The input contains an
f32
. Read moresource§fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>where
E: Error,
fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>where
E: Error,
The input contains an
f64
. Read moresource§fn visit_char<E>(self, v: char) -> Result<Self::Value, E>where
E: Error,
fn visit_char<E>(self, v: char) -> Result<Self::Value, E>where
E: Error,
The input contains a
char
. Read moresource§fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>where
E: Error,
fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>where
E: Error,
The input contains a string. The lifetime of the string is ephemeral and
it may be destroyed after this method returns. Read more
source§fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>where
E: Error,
fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>where
E: Error,
The input contains a string that lives at least as long as the
Deserializer
. Read moresource§fn visit_string<E>(self, v: String) -> Result<Self::Value, E>where
E: Error,
fn visit_string<E>(self, v: String) -> Result<Self::Value, E>where
E: Error,
The input contains a string and ownership of the string is being given
to the
Visitor
. Read moresource§fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>where
E: Error,
fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>where
E: Error,
The input contains a byte array. The lifetime of the byte array is
ephemeral and it may be destroyed after this method returns. Read more
source§fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>where
E: Error,
fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>where
E: Error,
The input contains a byte array that lives at least as long as the
Deserializer
. Read moresource§fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>where
E: Error,
fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>where
E: Error,
The input contains a byte array and ownership of the byte array is being
given to the
Visitor
. Read moresource§fn visit_none<E>(self) -> Result<Self::Value, E>where
E: Error,
fn visit_none<E>(self) -> Result<Self::Value, E>where
E: Error,
The input contains an optional that is absent. Read more
source§fn visit_some<D>(
self,
deserializer: D,
) -> Result<Self::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn visit_some<D>(
self,
deserializer: D,
) -> Result<Self::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
The input contains an optional that is present. Read more
source§fn visit_unit<E>(self) -> Result<Self::Value, E>where
E: Error,
fn visit_unit<E>(self) -> Result<Self::Value, E>where
E: Error,
The input contains a unit
()
. Read moresource§fn visit_newtype_struct<D>(
self,
deserializer: D,
) -> Result<Self::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn visit_newtype_struct<D>(
self,
deserializer: D,
) -> Result<Self::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
The input contains a newtype struct. Read more
source§fn visit_map<A>(
self,
map: A,
) -> Result<Self::Value, <A as MapAccess<'de>>::Error>where
A: MapAccess<'de>,
fn visit_map<A>(
self,
map: A,
) -> Result<Self::Value, <A as MapAccess<'de>>::Error>where
A: MapAccess<'de>,
The input contains a key-value map. Read more
source§fn visit_enum<A>(
self,
data: A,
) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>where
A: EnumAccess<'de>,
fn visit_enum<A>(
self,
data: A,
) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>where
A: EnumAccess<'de>,
The input contains an enum. Read more
Auto Trait Implementations§
impl<F, S> Freeze for Visitor<F, S>
impl<F, S> RefUnwindSafe for Visitor<F, S>where
F: RefUnwindSafe,
S: RefUnwindSafe,
impl<F, S> Send for Visitor<F, S>
impl<F, S> Sync for Visitor<F, S>
impl<F, S> Unpin for Visitor<F, S>
impl<F, S> UnwindSafe for Visitor<F, S>where
F: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more