diff --git a/src/serde/reader.rs b/src/serde/reader.rs index ca872cb..9f5e3af 100644 --- a/src/serde/reader.rs +++ b/src/serde/reader.rs @@ -243,7 +243,6 @@ where R: Read, S: SizeLimit, E: ByteOrder { Ok(Some(value)) } } - visitor.visit_seq(TupleVisitor(self)) } @@ -271,6 +270,10 @@ where R: Read, S: SizeLimit, E: ByteOrder { Ok(None) } } + + fn size_hint(&self) -> (usize, Option) { + (self.len, Some(self.len)) + } } visitor.visit_seq(SeqVisitor { deserializer: self, len: len }) @@ -327,6 +330,10 @@ where R: Read, S: SizeLimit, E: ByteOrder { let value = try!(serde::de::DeserializeSeed::deserialize(seed, &mut *self.deserializer)); Ok(value) } + + fn size_hint(&self) -> (usize, Option) { + (self.len, Some(self.len)) + } } let len = try!(serde::Deserialize::deserialize(&mut *self));