Trait serde::de::VariantVisitor
[−]
[src]
pub trait VariantVisitor {
type Error: Error;
fn visit_variant<V>(&mut self) -> Result<V, Self::Error> where V: Deserialize;
fn visit_unit(&mut self) -> Result<(), Self::Error> { ... }
fn visit_newtype<T>(&mut self) -> Result<T, Self::Error> where T: Deserialize { ... }
fn visit_tuple<V>(&mut self, _len: usize, _visitor: V) -> Result<V::Value, Self::Error> where V: Visitor { ... }
fn visit_struct<V>(&mut self, _fields: &'static [&'static str], _visitor: V) -> Result<V::Value, Self::Error> where V: Visitor { ... }
}VariantVisitor is a visitor that is created by the Deserializer and passed to the
Deserialize in order to deserialize a specific enum variant.
Associated Types
type Error: Error
The error type that can be returned if some error occurs during deserialization.
Required Methods
fn visit_variant<V>(&mut self) -> Result<V, Self::Error> where V: Deserialize
visit_variant is called to identify which variant to deserialize.
Provided Methods
fn visit_unit(&mut self) -> Result<(), Self::Error>
visit_unit is called when deserializing a variant with no values.
fn visit_newtype<T>(&mut self) -> Result<T, Self::Error> where T: Deserialize
visit_newtype is called when deserializing a variant with a single value. By default this
uses the visit_tuple method to deserialize the value.
fn visit_tuple<V>(&mut self, _len: usize, _visitor: V) -> Result<V::Value, Self::Error> where V: Visitor
visit_tuple is called when deserializing a tuple-like variant.
fn visit_struct<V>(&mut self, _fields: &'static [&'static str], _visitor: V) -> Result<V::Value, Self::Error> where V: Visitor
visit_struct is called when deserializing a struct-like variant.
Implementors
impl<'a, E> VariantVisitor for StrDeserializer<'a, E> where E: Errorimpl<'a, E> VariantVisitor for StringDeserializer<E> where E: Errorimpl<'a, T> VariantVisitor for &'a mut T where T: VariantVisitor