Fix handling of option and newtype in IgnoredAny

This commit is contained in:
David Tolnay
2017-04-05 09:19:22 -07:00
parent b2377d4c0b
commit c3d9b42cdf
3 changed files with 15 additions and 13 deletions
+2 -1
View File
@@ -111,6 +111,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> {
Some(Token::Option(true)) => visitor.visit_some(self),
Some(Token::Unit) => visitor.visit_unit(),
Some(Token::UnitStruct(_name)) => visitor.visit_unit(),
Some(Token::StructNewType(_name)) => visitor.visit_newtype_struct(self),
Some(Token::SeqStart(len)) => {
self.visit_seq(len, Token::SeqSep, Token::SeqEnd, visitor)
}
@@ -182,7 +183,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> {
self.next_token();
visitor.visit_some(self)
}
Some(_) => visitor.visit_some(self),
Some(_) => self.deserialize(visitor),
None => Err(Error::EndOfTokens),
}
}