use lib::*;
+use self::private::{First, Second};
use de::{self, Expected, IntoDeserializer, SeqAccess};
use private::de::size_hint;
use ser;
-use self::private::{First, Second};
////////////////////////////////////////////////////////////////////////////////
{
/// Check for remaining elements after passing a `SeqDeserializer` to
/// `Visitor::visit_seq`.
- pub fn end(mut self) -> Result<(), E> {
- let mut remaining = 0;
- while self.iter.next().is_some() {
- remaining += 1;
- }
+ pub fn end(self) -> Result<(), E> {
+ let remaining = self.iter.count();
if remaining == 0 {
Ok(())
} else {
{
/// Check for remaining elements after passing a `MapDeserializer` to
/// `Visitor::visit_map`.
- pub fn end(mut self) -> Result<(), E> {
- let mut remaining = 0;
- while self.iter.next().is_some() {
- remaining += 1;
- }
+ pub fn end(self) -> Result<(), E> {
+ let remaining = self.iter.count();
if remaining == 0 {
Ok(())
} else {