From de1059f648c74fd508272a9cf96ffafc247394c1 Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Thu, 30 Jul 2015 07:35:57 -0700 Subject: [PATCH] Allow Result to use usize variant names --- serde/src/de/impls.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index d2d4c337..0d1d8a4f 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -877,6 +877,14 @@ impl Deserialize for Result where T: Deserialize, E: Deserialize { impl ::de::Visitor for FieldVisitor { type Value = Field; + fn visit_usize(&mut self, value: usize) -> Result where E: Error { + match value { + 0 => Ok(Field::Ok), + 1 => Ok(Field::Err), + _ => Err(Error::unknown_field_error(&value.to_string())), + } + } + fn visit_str(&mut self, value: &str) -> Result where E: Error { match value { "Ok" => Ok(Field::Ok),