[−][src]Trait serde::de::EnumAccess
Provides a Visitor
access to the data of an enum in the input.
EnumAccess
is created by the Deserializer
and passed to the
Visitor
in order to identify which variant of an enum to deserialize.
Lifetime
The 'de
lifetime of this trait is the lifetime of data that may be
borrowed by the deserialized enum variant. See the page Understanding
deserializer lifetimes for a more detailed explanation of these lifetimes.
Example implementation
The example data format presented on the website demonstrates an
implementation of EnumAccess
for a basic JSON data format.
Associated Types
Required methods
fn variant_seed<V>(
self,
seed: V
) -> Result<(V::Value, Self::Variant), Self::Error> where
V: DeserializeSeed<'de>,
[+]
self,
seed: V
) -> Result<(V::Value, Self::Variant), Self::Error> where
V: DeserializeSeed<'de>,
Provided methods
Implementors
impl<'de, 'a, E> EnumAccess<'de> for CowStrDeserializer<'a, E> where
E: Error,
[src][−]
E: Error,
type Error = E
type Variant = UnitOnly<E>
fn variant_seed<T>(
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
[src]
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
fn variant<V>(self) -> Result<(V, Self::Variant), Self::Error> where
V: Deserialize<'de>,
[src]
V: Deserialize<'de>,
impl<'de, 'a, E> EnumAccess<'de> for StrDeserializer<'a, E> where
E: Error,
[src][−]
E: Error,
type Error = E
type Variant = UnitOnly<E>
fn variant_seed<T>(
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
[src]
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
fn variant<V>(self) -> Result<(V, Self::Variant), Self::Error> where
V: Deserialize<'de>,
[src]
V: Deserialize<'de>,
impl<'de, 'a, E> EnumAccess<'de> for StringDeserializer<E> where
E: Error,
[src][−]
E: Error,
type Error = E
type Variant = UnitOnly<E>
fn variant_seed<T>(
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
[src]
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
fn variant<V>(self) -> Result<(V, Self::Variant), Self::Error> where
V: Deserialize<'de>,
[src]
V: Deserialize<'de>,
impl<'de, A> EnumAccess<'de> for MapAccessDeserializer<A> where
A: MapAccess<'de>,
[src][−]
A: MapAccess<'de>,
type Error = A::Error
type Variant = MapAsEnum<A>
fn variant_seed<T>(
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
[src]
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
fn variant<V>(self) -> Result<(V, Self::Variant), Self::Error> where
V: Deserialize<'de>,
[src]
V: Deserialize<'de>,
impl<'de, E> EnumAccess<'de> for BorrowedStrDeserializer<'de, E> where
E: Error,
[src][−]
E: Error,
type Error = E
type Variant = UnitOnly<E>
fn variant_seed<T>(
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
[src]
self,
seed: T
) -> Result<(T::Value, Self::Variant), Self::Error> where
T: DeserializeSeed<'de>,
fn variant<V>(self) -> Result<(V, Self::Variant), Self::Error> where
V: Deserialize<'de>,
[src]
V: Deserialize<'de>,
impl<'de, E> EnumAccess<'de> for U32Deserializer<E> where
E: Error,
[src][−]
E: Error,