mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-09 03:57:24 +00:00
serde_keyvalue: remove enum wrapper
This wrapper type is useless as we can just implement the access traits on KeyValueDeserializer directly. BUG=b:218223240 TEST=cargo test -p serde_keyvalue Change-Id: I5013b3fea2f0a2febf182a2fd42037d1cbdbe737 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3915037 Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Auto-Submit: Alexandre Courbot <acourbot@chromium.org>
This commit is contained in:
parent
0e0f125777
commit
e1c1719b84
1 changed files with 4 additions and 12 deletions
|
@ -394,15 +394,7 @@ impl<'de> de::MapAccess<'de> for KeyValueDeserializer<'de> {
|
|||
}
|
||||
}
|
||||
|
||||
struct Enum<'a, 'de: 'a>(&'a mut KeyValueDeserializer<'de>);
|
||||
|
||||
impl<'a, 'de> Enum<'a, 'de> {
|
||||
fn new(de: &'a mut KeyValueDeserializer<'de>) -> Self {
|
||||
Self(de)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, 'de> de::EnumAccess<'de> for Enum<'a, 'de> {
|
||||
impl<'a, 'de> de::EnumAccess<'de> for &'a mut KeyValueDeserializer<'de> {
|
||||
type Error = ParseError;
|
||||
type Variant = Self;
|
||||
|
||||
|
@ -410,12 +402,12 @@ impl<'a, 'de> de::EnumAccess<'de> for Enum<'a, 'de> {
|
|||
where
|
||||
V: de::DeserializeSeed<'de>,
|
||||
{
|
||||
let val = seed.deserialize(&mut *self.0)?;
|
||||
let val = seed.deserialize(&mut *self)?;
|
||||
Ok((val, self))
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, 'de> de::VariantAccess<'de> for Enum<'a, 'de> {
|
||||
impl<'a, 'de> de::VariantAccess<'de> for &'a mut KeyValueDeserializer<'de> {
|
||||
type Error = ParseError;
|
||||
|
||||
fn unit_variant(self) -> Result<()> {
|
||||
|
@ -699,7 +691,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut KeyValueDeserializer<'de> {
|
|||
where
|
||||
V: serde::de::Visitor<'de>,
|
||||
{
|
||||
visitor.visit_enum(Enum::new(self))
|
||||
visitor.visit_enum(self)
|
||||
}
|
||||
|
||||
fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value>
|
||||
|
|
Loading…
Reference in a new issue