diff options
author | Pouya Mobasher Behrouz <pooyamb@gmail.com> | 2020-12-07 05:38:11 +0330 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-06 21:08:11 -0500 |
commit | 17642c3735e3a8474919284a15df94ccec9e4da6 (patch) | |
tree | abd22c56c4df2970fcf8561cffdab1976735203a /src/de | |
parent | f4a0126e62aa87e6a639583ed53aac7655a3f60f (diff) |
Support enum unit variants as map keys (#37)
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/mod.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/de/mod.rs b/src/de/mod.rs index 3d8b508..62da6a5 100644 --- a/src/de/mod.rs +++ b/src/de/mod.rs @@ -654,6 +654,18 @@ impl<'de> de::Deserializer<'de> for ParsableStringDeserializer<'de> { self.0.into_deserializer().deserialize_any(visitor) } + fn deserialize_enum<V>( + self, + _: &'static str, + _: &'static [&'static str], + visitor: V, + ) -> Result<V::Value> + where + V: de::Visitor<'de>, + { + visitor.visit_enum(LevelDeserializer(Level::Flat(self.0))) + } + forward_to_deserialize_any! { map struct @@ -670,7 +682,6 @@ impl<'de> de::Deserializer<'de> for ParsableStringDeserializer<'de> { tuple_struct identifier tuple - enum ignored_any } |