From e40fbe07672e7f7b851c773f7521f62669451267 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 18 Jan 2017 21:13:51 -0800 Subject: [PATCH] Restore visit_bytes for Duration impl --- serde/src/de/impls.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index a200aaa4..dd04bc64 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -986,6 +986,19 @@ impl Deserialize for Duration { _ => Err(Error::unknown_field(value)), } } + + fn visit_bytes(self, value: &[u8]) -> Result + where E: Error, + { + match value { + b"secs" => Ok(Field::Secs), + b"nanos" => Ok(Field::Nanos), + _ => { + let value = String::from_utf8_lossy(value); + Err(Error::unknown_field(&value)) + } + } + } } deserializer.deserialize_struct_field(FieldVisitor)