Change de::VariantVisitor to let deserializers know the variant kind

This allows formats like cbor that encode a unit variant as just a
string to work.

[breaking-change]
This commit is contained in:
Erick Tryzelaar
2015-04-06 20:04:01 -07:00
parent d36879f5ee
commit 1da47c0870
7 changed files with 94 additions and 24 deletions
+3 -5
View File
@@ -339,10 +339,8 @@ mod deserializer {
de::Deserialize::deserialize(self.de)
}
fn visit_value<V>(&mut self, visitor: V) -> Result<V::Value, Error>
where V: de::Visitor,
{
de::Deserializer::visit(self.de, visitor)
fn visit_unit(&mut self) -> Result<(), Error> {
de::Deserialize::deserialize(self.de)
}
}
@@ -360,7 +358,7 @@ mod deserializer {
de::Deserialize::deserialize(self.de)
}
fn visit_value<V>(&mut self, mut visitor: V) -> Result<V::Value, Error>
fn visit_seq<V>(&mut self, mut visitor: V) -> Result<V::Value, Error>
where V: de::Visitor,
{
visitor.visit_seq(self)