Struct serde_keyvalue::key_values::EmptyMapAccess
source · struct EmptyMapAccess;
Expand description
MapAccess
for a map with no members specified.
This is used to allow a struct enum type to be specified without [
and ]
, in which case
all its members will take their default value:
#[derive(Deserialize, PartialEq, Eq, Debug)]
#[serde(rename_all = "kebab-case")]
enum FlipMode {
Active {
#[serde(default)]
switch1: bool,
#[serde(default)]
switch2: bool,
},
}
#[derive(Deserialize, PartialEq, Eq, Debug)]
struct TestStruct {
mode: FlipMode,
}
let res: TestStruct = from_key_values("mode=active").unwrap();
assert_eq!(
res,
TestStruct {
mode: FlipMode::Active {
switch1: false,
switch2: false
}
}
);
Trait Implementations§
source§impl<'de> MapAccess<'de> for EmptyMapAccess
impl<'de> MapAccess<'de> for EmptyMapAccess
§type Error = ParseError
type Error = ParseError
The error type that can be returned if some error occurs during
deserialization.
source§fn next_key_seed<K>(&mut self, _seed: K) -> Result<Option<K::Value>, ParseError>where
K: DeserializeSeed<'de>,
fn next_key_seed<K>(&mut self, _seed: K) -> Result<Option<K::Value>, ParseError>where
K: DeserializeSeed<'de>,
This returns
Ok(Some(key))
for the next key in the map, or Ok(None)
if there are no more remaining entries. Read moresource§fn next_value_seed<V>(&mut self, _seed: V) -> Result<V::Value, ParseError>where
V: DeserializeSeed<'de>,
fn next_value_seed<V>(&mut self, _seed: V) -> Result<V::Value, ParseError>where
V: DeserializeSeed<'de>,
This returns a
Ok(value)
for the next value in the map. Read moresource§fn next_entry_seed<K, V>(
&mut self,
kseed: K,
vseed: V
) -> Result<Option<(<K as DeserializeSeed<'de>>::Value, <V as DeserializeSeed<'de>>::Value)>, Self::Error>where
K: DeserializeSeed<'de>,
V: DeserializeSeed<'de>,
fn next_entry_seed<K, V>(
&mut self,
kseed: K,
vseed: V
) -> Result<Option<(<K as DeserializeSeed<'de>>::Value, <V as DeserializeSeed<'de>>::Value)>, Self::Error>where
K: DeserializeSeed<'de>,
V: DeserializeSeed<'de>,
This returns
Ok(Some((key, value)))
for the next (key-value) pair in
the map, or Ok(None)
if there are no more remaining items. Read moresource§fn next_key<K>(&mut self) -> Result<Option<K>, Self::Error>where
K: Deserialize<'de>,
fn next_key<K>(&mut self) -> Result<Option<K>, Self::Error>where
K: Deserialize<'de>,
This returns
Ok(Some(key))
for the next key in the map, or Ok(None)
if there are no more remaining entries. Read moresource§fn next_value<V>(&mut self) -> Result<V, Self::Error>where
V: Deserialize<'de>,
fn next_value<V>(&mut self) -> Result<V, Self::Error>where
V: Deserialize<'de>,
This returns a
Ok(value)
for the next value in the map. Read moresource§fn next_entry<K, V>(&mut self) -> Result<Option<(K, V)>, Self::Error>where
K: Deserialize<'de>,
V: Deserialize<'de>,
fn next_entry<K, V>(&mut self) -> Result<Option<(K, V)>, Self::Error>where
K: Deserialize<'de>,
V: Deserialize<'de>,
This returns
Ok(Some((key, value)))
for the next (key-value) pair in
the map, or Ok(None)
if there are no more remaining items. Read moreAuto Trait Implementations§
impl RefUnwindSafe for EmptyMapAccess
impl Send for EmptyMapAccess
impl Sync for EmptyMapAccess
impl Unpin for EmptyMapAccess
impl UnwindSafe for EmptyMapAccess
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