From 2d1a60c056ad5113c624c1cbf23dbcf90790aed5 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Thu, 12 Jan 2017 20:06:44 +0100 Subject: [PATCH] Update the Serialize impl, too --- serde/src/ser/impls.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 17cd872b..4be35fc3 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -226,7 +226,7 @@ array_impls!(32); #[cfg(feature = "unstable")] impl<'a, I> Serialize for Iterator - where I: iter::Iterator, ::Item: Serialize + where I: IntoIterator, ::Item: Serialize { #[inline] fn serialize(&self, serializer: &mut S) -> Result<(), S::Error> @@ -234,7 +234,7 @@ impl<'a, I> Serialize for Iterator { // FIXME: use specialization to prevent invalidating the object in case of clonable iterators? let iter = match self.0.borrow_mut().take() { - Some(iter) => iter, + Some(iter) => iter.into_iter(), None => return Err(S::Error::custom("Iterator used twice")), }; let size = match iter.size_hint() {