From 54c80ad6778681b7c180e9b5b0e91467a7b2d872 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Thu, 14 Jul 2016 15:37:05 +0200 Subject: [PATCH] fix range serialization --- serde/src/ser/impls.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index a7f861eb..4c6d1182 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -305,11 +305,12 @@ impl Serialize for ops::Range fn serialize(&self, serializer: &mut S) -> Result<(), S::Error> where S: Serializer, { - let mut seq_serializer = try!(serializer.serialize_seq(Some(self.len()))); + let len = iter::Step::steps_between(&self.start, &self.end, &A::one()); + let state = try!(serializer.serialize_seq(Some(len))); for e in self.iter() { - try!(seq_serializer.serialize_elt(e)); + try!(serializer.serialize_seq_elt(e)); } - seq_serializer.drop() + serializer.serialize_seq_end(Some(len), state); } }