From 9b3a561e830c58a06fd6878cfd19c937b2dbd630 Mon Sep 17 00:00:00 2001 From: est31 Date: Mon, 2 Sep 2019 22:06:46 +0200 Subject: [PATCH] Small refactor --- src/parser/deserializer.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/parser/deserializer.rs b/src/parser/deserializer.rs index 33e4b9ead2..a2ec8a96c6 100644 --- a/src/parser/deserializer.rs +++ b/src/parser/deserializer.rs @@ -300,15 +300,15 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut ConfigDeserializer<'de> { self.stack ); - if self.saw_root { - let value = self.pop(); - let name = std::any::type_name::(); - trace!("Extracting {:?} for {:?}", value.val, name); - V::Value::extract(&value.val) - } else { + if !self.saw_root { self.saw_root = true; - visitor.visit_seq(StructDeserializer::new(&mut self, fields)) + return visitor.visit_seq(StructDeserializer::new(&mut self, fields)); } + + let value = self.pop(); + let name = std::any::type_name::(); + trace!("Extracting {:?} for {:?}", value.val, name); + V::Value::extract(&value.val) } fn deserialize_enum( self,