From e75efbfd3193fd865bef9b2eac1d63b1609b07cf Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Thu, 27 Jun 2019 10:29:48 -0700 Subject: [PATCH] Support ignoring enum with IgnoredAny --- serde/src/de/ignored_any.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/serde/src/de/ignored_any.rs b/serde/src/de/ignored_any.rs index 855d68e1..a86e604d 100644 --- a/serde/src/de/ignored_any.rs +++ b/serde/src/de/ignored_any.rs @@ -1,6 +1,8 @@ use lib::*; -use de::{Deserialize, Deserializer, Error, MapAccess, SeqAccess, Visitor}; +use de::{ + Deserialize, Deserializer, EnumAccess, Error, MapAccess, SeqAccess, VariantAccess, Visitor, +}; /// An efficient way of discarding data from a deserializer. /// @@ -205,6 +207,14 @@ impl<'de> Visitor<'de> for IgnoredAny { let _ = bytes; Ok(IgnoredAny) } + + fn visit_enum(self, data: A) -> Result + where + A: EnumAccess<'de>, + { + let (IgnoredAny, content) = data.variant()?; + content.newtype_variant() + } } impl<'de> Deserialize<'de> for IgnoredAny {