diff --git a/serde/src/de/mod.rs b/serde/src/de/mod.rs index 210b36b0..9c930a9f 100644 --- a/serde/src/de/mod.rs +++ b/serde/src/de/mod.rs @@ -412,7 +412,7 @@ pub trait Deserializer { /// This trait represents a visitor that walks through a deserializer. pub trait Visitor { /// The value produced by this visitor. - type Value: Deserialize; + type Value; /// `visit_bool` deserializes a `bool` into a `Value`. fn visit_bool(&mut self, v: bool) -> Result diff --git a/serde_test/src/de.rs b/serde_test/src/de.rs index 121dcd3d..101cc811 100644 --- a/serde_test/src/de.rs +++ b/serde_test/src/de.rs @@ -856,7 +856,7 @@ impl<'a, I> VariantVisitor for DeserializerVariantVisitor<'a, I> } } Some(_) => { - Deserialize::deserialize(self.de) + de::Deserializer::deserialize(self.de, visitor) } None => Err(Error::EndOfStream), } @@ -887,7 +887,7 @@ impl<'a, I> VariantVisitor for DeserializerVariantVisitor<'a, I> } } Some(_) => { - Deserialize::deserialize(self.de) + de::Deserializer::deserialize(self.de, visitor) } None => Err(Error::EndOfStream), }