pub struct ValueVisitor;
Expand description
A struct for deserializing a Value
which implements destream::de::Visitor
and serde::de::Visitor
.
Implementations§
Trait Implementations§
Source§impl Default for ValueVisitor
impl Default for ValueVisitor
Source§fn default() -> ValueVisitor
fn default() -> ValueVisitor
Returns the “default value” for a type. Read more
Source§impl<'de> Visitor<'de> for ValueVisitor
impl<'de> Visitor<'de> for ValueVisitor
Source§fn expecting(&self, f: &mut Formatter<'_>) -> Result
fn expecting(&self, f: &mut Formatter<'_>) -> Result
Format a message stating what data this Visitor expects to receive. Read more
Source§fn visit_bool<E: SerdeError>(self, b: bool) -> Result<Self::Value, E>
fn visit_bool<E: SerdeError>(self, b: bool) -> Result<Self::Value, E>
The input contains a boolean. Read more
Source§fn visit_i8<E: SerdeError>(self, i: i8) -> Result<Self::Value, E>
fn visit_i8<E: SerdeError>(self, i: i8) -> Result<Self::Value, E>
The input contains an
i8
. Read moreSource§fn visit_i16<E: SerdeError>(self, i: i16) -> Result<Self::Value, E>
fn visit_i16<E: SerdeError>(self, i: i16) -> Result<Self::Value, E>
The input contains an
i16
. Read moreSource§fn visit_i32<E: SerdeError>(self, i: i32) -> Result<Self::Value, E>
fn visit_i32<E: SerdeError>(self, i: i32) -> Result<Self::Value, E>
The input contains an
i32
. Read moreSource§fn visit_i64<E: SerdeError>(self, i: i64) -> Result<Self::Value, E>
fn visit_i64<E: SerdeError>(self, i: i64) -> Result<Self::Value, E>
The input contains an
i64
. Read moreSource§fn visit_u8<E: SerdeError>(self, u: u8) -> Result<Self::Value, E>
fn visit_u8<E: SerdeError>(self, u: u8) -> Result<Self::Value, E>
The input contains a
u8
. Read moreSource§fn visit_u16<E: SerdeError>(self, u: u16) -> Result<Self::Value, E>
fn visit_u16<E: SerdeError>(self, u: u16) -> Result<Self::Value, E>
The input contains a
u16
. Read moreSource§fn visit_u32<E: SerdeError>(self, u: u32) -> Result<Self::Value, E>
fn visit_u32<E: SerdeError>(self, u: u32) -> Result<Self::Value, E>
The input contains a
u32
. Read moreSource§fn visit_u64<E: SerdeError>(self, u: u64) -> Result<Self::Value, E>
fn visit_u64<E: SerdeError>(self, u: u64) -> Result<Self::Value, E>
The input contains a
u64
. Read moreSource§fn visit_f32<E: SerdeError>(self, f: f32) -> Result<Self::Value, E>
fn visit_f32<E: SerdeError>(self, f: f32) -> Result<Self::Value, E>
The input contains an
f32
. Read moreSource§fn visit_f64<E: SerdeError>(self, f: f64) -> Result<Self::Value, E>
fn visit_f64<E: SerdeError>(self, f: f64) -> Result<Self::Value, E>
The input contains an
f64
. Read moreSource§fn visit_str<E: SerdeError>(self, s: &str) -> Result<Self::Value, E>
fn visit_str<E: SerdeError>(self, s: &str) -> Result<Self::Value, E>
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: SerdeError>(
self,
s: &'de str,
) -> Result<Self::Value, E>
fn visit_borrowed_str<E: SerdeError>( self, s: &'de str, ) -> Result<Self::Value, E>
The input contains a string that lives at least as long as the
Deserializer
. Read moreSource§fn visit_string<E: SerdeError>(self, s: String) -> Result<Self::Value, E>
fn visit_string<E: SerdeError>(self, s: String) -> Result<Self::Value, E>
The input contains a string and ownership of the string is being given
to the
Visitor
. Read moreSource§fn visit_byte_buf<E: SerdeError>(self, buf: Vec<u8>) -> Result<Self::Value, E>
fn visit_byte_buf<E: SerdeError>(self, buf: Vec<u8>) -> Result<Self::Value, E>
The input contains a byte array and ownership of the byte array is being
given to the
Visitor
. Read moreSource§fn visit_unit<E: SerdeError>(self) -> Result<Self::Value, E>
fn visit_unit<E: SerdeError>(self) -> Result<Self::Value, E>
The input contains a unit
()
. Read moreSource§fn visit_seq<A: SeqAccess<'de>>(self, seq: A) -> Result<Self::Value, A::Error>
fn visit_seq<A: SeqAccess<'de>>(self, seq: A) -> Result<Self::Value, A::Error>
The input contains a sequence of elements. Read more
Source§fn visit_map<A: MapAccess<'de>>(self, map: A) -> Result<Self::Value, A::Error>
fn visit_map<A: MapAccess<'de>>(self, map: A) -> Result<Self::Value, A::Error>
The input contains a key-value map. Read more
Source§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_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_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_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_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_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_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
Source§impl Visitor for ValueVisitor
impl Visitor for ValueVisitor
Source§fn visit_array_u8<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, A::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u8>,
Self: 'async_trait,
fn visit_array_u8<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, A::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u8>,
Self: 'async_trait,
The input contains an array of
u8
s. Read moreSource§fn visit_bool<E: DestreamError>(self, b: bool) -> Result<Self::Value, E>
fn visit_bool<E: DestreamError>(self, b: bool) -> Result<Self::Value, E>
The input contains a boolean. Read more
Source§fn visit_i8<E: DestreamError>(self, i: i8) -> Result<Self::Value, E>
fn visit_i8<E: DestreamError>(self, i: i8) -> Result<Self::Value, E>
The input contains an
i8
. Read moreSource§fn visit_i16<E: DestreamError>(self, i: i16) -> Result<Self::Value, E>
fn visit_i16<E: DestreamError>(self, i: i16) -> Result<Self::Value, E>
The input contains an
i16
. Read moreSource§fn visit_i32<E: DestreamError>(self, i: i32) -> Result<Self::Value, E>
fn visit_i32<E: DestreamError>(self, i: i32) -> Result<Self::Value, E>
The input contains an
i32
. Read moreSource§fn visit_i64<E: DestreamError>(self, i: i64) -> Result<Self::Value, E>
fn visit_i64<E: DestreamError>(self, i: i64) -> Result<Self::Value, E>
The input contains an
i64
. Read moreSource§fn visit_u8<E: DestreamError>(self, u: u8) -> Result<Self::Value, E>
fn visit_u8<E: DestreamError>(self, u: u8) -> Result<Self::Value, E>
The input contains a
u8
. Read moreSource§fn visit_u16<E: DestreamError>(self, u: u16) -> Result<Self::Value, E>
fn visit_u16<E: DestreamError>(self, u: u16) -> Result<Self::Value, E>
The input contains a
u16
. Read moreSource§fn visit_u32<E: DestreamError>(self, u: u32) -> Result<Self::Value, E>
fn visit_u32<E: DestreamError>(self, u: u32) -> Result<Self::Value, E>
The input contains a
u32
. Read moreSource§fn visit_u64<E: DestreamError>(self, u: u64) -> Result<Self::Value, E>
fn visit_u64<E: DestreamError>(self, u: u64) -> Result<Self::Value, E>
The input contains a
u64
. Read moreSource§fn visit_f32<E: DestreamError>(self, f: f32) -> Result<Self::Value, E>
fn visit_f32<E: DestreamError>(self, f: f32) -> Result<Self::Value, E>
The input contains an
f32
. Read moreSource§fn visit_f64<E: DestreamError>(self, f: f64) -> Result<Self::Value, E>
fn visit_f64<E: DestreamError>(self, f: f64) -> Result<Self::Value, E>
The input contains an
f64
. Read moreSource§fn visit_string<E: DestreamError>(self, s: String) -> Result<Self::Value, E>
fn visit_string<E: DestreamError>(self, s: String) -> Result<Self::Value, E>
Source§fn visit_unit<E: DestreamError>(self) -> Result<Self::Value, E>
fn visit_unit<E: DestreamError>(self) -> Result<Self::Value, E>
The input contains a unit
()
. Read moreSource§fn visit_none<E: DestreamError>(self) -> Result<Self::Value, E>
fn visit_none<E: DestreamError>(self) -> Result<Self::Value, E>
The input contains an optional that is absent.
The default implementation fails with a type error.
Source§fn visit_map<'async_trait, A>(
self,
map: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, A::Error>> + Send + 'async_trait>>where
A: 'async_trait + MapAccess,
Self: 'async_trait,
fn visit_map<'async_trait, A>(
self,
map: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, A::Error>> + Send + 'async_trait>>where
A: 'async_trait + MapAccess,
Self: 'async_trait,
The input contains a key-value map.
The default implementation fails with a type error.
Source§fn visit_seq<'async_trait, A>(
self,
seq: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, A::Error>> + Send + 'async_trait>>where
A: 'async_trait + SeqAccess,
Self: 'async_trait,
fn visit_seq<'async_trait, A>(
self,
seq: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, A::Error>> + Send + 'async_trait>>where
A: 'async_trait + SeqAccess,
Self: 'async_trait,
The input contains a sequence of elements.
The default implementation fails with a type error.
Source§fn visit_array_bool<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<bool>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<bool>,
Self: 'async_trait,
fn visit_array_bool<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<bool>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<bool>,
Self: 'async_trait,
The input contains an array of
bool
s. Read moreSource§fn visit_array_i8<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i8>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i8>,
Self: 'async_trait,
fn visit_array_i8<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i8>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i8>,
Self: 'async_trait,
The input contains an array of
i8
s. Read moreSource§fn visit_array_i16<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i16>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i16>,
Self: 'async_trait,
fn visit_array_i16<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i16>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i16>,
Self: 'async_trait,
The input contains an array of
i16
s. Read moreSource§fn visit_array_i32<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i32>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i32>,
Self: 'async_trait,
fn visit_array_i32<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i32>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i32>,
Self: 'async_trait,
The input contains an array of
i32
s. Read moreSource§fn visit_array_i64<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i64>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i64>,
Self: 'async_trait,
fn visit_array_i64<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<i64>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<i64>,
Self: 'async_trait,
The input contains an array of
i64
s. Read moreSource§fn visit_array_u16<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<u16>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u16>,
Self: 'async_trait,
fn visit_array_u16<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<u16>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u16>,
Self: 'async_trait,
The input contains an array of
u16
s. Read moreSource§fn visit_array_u32<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<u32>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u32>,
Self: 'async_trait,
fn visit_array_u32<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<u32>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u32>,
Self: 'async_trait,
The input contains an array of
u32
s. Read moreSource§fn visit_array_u64<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<u64>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u64>,
Self: 'async_trait,
fn visit_array_u64<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<u64>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<u64>,
Self: 'async_trait,
The input contains an array of
u64
s. Read moreSource§fn visit_array_f32<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<f32>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<f32>,
Self: 'async_trait,
fn visit_array_f32<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<f32>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<f32>,
Self: 'async_trait,
The input contains an array of
f32
s. Read moreSource§fn visit_array_f64<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<f64>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<f64>,
Self: 'async_trait,
fn visit_array_f64<'async_trait, A>(
self,
array: A,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <A as ArrayAccess<f64>>::Error>> + Send + 'async_trait>>where
A: 'async_trait + ArrayAccess<f64>,
Self: 'async_trait,
The input contains an array of
f64
s. Read moreSource§fn visit_some<'life0, 'async_trait, D>(
self,
decoder: &'life0 mut D,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <D as Decoder>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
D: 'async_trait + Decoder,
Self: 'async_trait,
fn visit_some<'life0, 'async_trait, D>(
self,
decoder: &'life0 mut D,
) -> Pin<Box<dyn Future<Output = Result<Self::Value, <D as Decoder>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
D: 'async_trait + Decoder,
Self: 'async_trait,
The input contains an optional that is present.
The default implementation fails with a type error.
Auto Trait Implementations§
impl Freeze for ValueVisitor
impl RefUnwindSafe for ValueVisitor
impl Send for ValueVisitor
impl Sync for ValueVisitor
impl Unpin for ValueVisitor
impl UnwindSafe for ValueVisitor
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
Source§impl<F> Match for F
impl<F> Match for F
Source§fn matches<T>(&self) -> boolwhere
T: TryCastFrom<Self>,
fn matches<T>(&self) -> boolwhere
T: TryCastFrom<Self>,
Returns
true
if self
can be cast into the target type T
.Source§impl<F, T> TryCastFrom<F> for Twhere
T: CastFrom<F>,
impl<F, T> TryCastFrom<F> for Twhere
T: CastFrom<F>,
Source§fn can_cast_from(_: &F) -> bool
fn can_cast_from(_: &F) -> bool
Test if
value
can be cast into Self
.Source§fn opt_cast_from(f: F) -> Option<T>
fn opt_cast_from(f: F) -> Option<T>
Returns
Some(Self)
if the source value can be cast into Self
, otherwise None
.Source§impl<F, T> TryCastInto<T> for Fwhere
T: TryCastFrom<F>,
impl<F, T> TryCastInto<T> for Fwhere
T: TryCastFrom<F>,
Source§fn can_cast_into(&self) -> bool
fn can_cast_into(&self) -> bool
Test if
self
can be cast into T
.Source§fn opt_cast_into(self) -> Option<T>
fn opt_cast_into(self) -> Option<T>
Returns
Some(T)
if self
can be cast into T
, otherwise None
.Source§fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>where
OnErr: FnOnce(&Self) -> Err,
fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>where
OnErr: FnOnce(&Self) -> Err,
Returns
Ok(T)
if self
can be cast into T
, otherwise calls on_err
.