summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2022-07-14 14:16:37 +0200
committerGitHub <noreply@github.com>2022-07-14 14:16:37 +0200
commit84efcc84ca8123f166ac169c201a8f03b13aead0 (patch)
tree5b7871dcfe7b3322b2c4b23ba1307da9d75fee8d
parent2d74d06740f294d402997a208822b68ccea174e2 (diff)
parent2c1f9b10e92062b9fd8b6335a6fc25e9e7b9c16c (diff)
Merge pull request #356 from YounessBird/refactoring-de.rs
refactoring deserialize-any in config
-rw-r--r--src/de.rs15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/de.rs b/src/de.rs
index d1271b2..2b4834e 100644
--- a/src/de.rs
+++ b/src/de.rs
@@ -345,19 +345,8 @@ impl<'de> de::Deserializer<'de> for Config {
where
V: de::Visitor<'de>,
{
- // Deserialize based on the underlying type
- match self.cache.kind {
- ValueKind::Nil => visitor.visit_unit(),
- ValueKind::I64(i) => visitor.visit_i64(i),
- ValueKind::I128(i) => visitor.visit_i128(i),
- ValueKind::U64(i) => visitor.visit_u64(i),
- ValueKind::U128(i) => visitor.visit_u128(i),
- ValueKind::Boolean(b) => visitor.visit_bool(b),
- ValueKind::Float(f) => visitor.visit_f64(f),
- ValueKind::String(s) => visitor.visit_string(s),
- ValueKind::Array(values) => visitor.visit_seq(SeqAccess::new(values)),
- ValueKind::Table(map) => visitor.visit_map(MapAccess::new(map)),
- }
+ // Delegate deserialization to Value
+ de::Deserializer::deserialize_any(self.cache, visitor)
}
#[inline]