diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs
index 4c6d1182..3ae1dcdc 100644
--- a/serde/src/ser/impls.rs
+++ b/serde/src/ser/impls.rs
@@ -306,11 +306,11 @@ impl Serialize for ops::Range
where S: Serializer,
{
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() {
+ let state = try!(serializer.serialize_seq(len));
+ for e in self.clone() {
try!(serializer.serialize_seq_elt(e));
}
- serializer.serialize_seq_end(Some(len), state);
+ serializer.serialize_seq_end(len, state);
}
}