diff options
Diffstat (limited to 'compiler/rustc_serialize/src/collection_impls.rs')
| -rw-r--r-- | compiler/rustc_serialize/src/collection_impls.rs | 94 | 
1 files changed, 43 insertions, 51 deletions
| diff --git a/compiler/rustc_serialize/src/collection_impls.rs b/compiler/rustc_serialize/src/collection_impls.rs index 761e988360a..c4541bbcac9 100644 --- a/compiler/rustc_serialize/src/collection_impls.rs +++ b/compiler/rustc_serialize/src/collection_impls.rs @@ -25,12 +25,11 @@ impl<D: Decoder, A: Array<Item: Decodable<D>>> Decodable<D> for SmallVec<A> { impl<S: Encoder, T: Encodable<S>> Encodable<S> for LinkedList<T> { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - s.emit_seq(self.len(), |s| { - for (i, e) in self.iter().enumerate() { - s.emit_seq_elt(i, |s| e.encode(s))?; - } - Ok(()) - }) + s.emit_usize(self.len())?; + for e in self.iter() { + e.encode(s)?; + } + Ok(()) } } @@ -43,12 +42,11 @@ impl<D: Decoder, T: Decodable<D>> Decodable<D> for LinkedList<T> { impl<S: Encoder, T: Encodable<S>> Encodable<S> for VecDeque<T> { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - s.emit_seq(self.len(), |s| { - for (i, e) in self.iter().enumerate() { - s.emit_seq_elt(i, |s| e.encode(s))?; - } - Ok(()) - }) + s.emit_usize(self.len())?; + for e in self.iter() { + e.encode(s)?; + } + Ok(()) } } @@ -65,13 +63,12 @@ where V: Encodable<S>, { fn encode(&self, e: &mut S) -> Result<(), S::Error> { - e.emit_map(self.len(), |e| { - for (i, (key, val)) in self.iter().enumerate() { - e.emit_map_elt_key(i, |e| key.encode(e))?; - e.emit_map_elt_val(|e| val.encode(e))?; - } - Ok(()) - }) + e.emit_usize(self.len())?; + for (key, val) in self.iter() { + key.encode(e)?; + val.encode(e)?; + } + Ok(()) } } @@ -97,12 +94,11 @@ where T: Encodable<S> + PartialEq + Ord, { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - s.emit_seq(self.len(), |s| { - for (i, e) in self.iter().enumerate() { - s.emit_seq_elt(i, |s| e.encode(s))?; - } - Ok(()) - }) + s.emit_usize(self.len())?; + for e in self.iter() { + e.encode(s)?; + } + Ok(()) } } @@ -127,13 +123,12 @@ where S: BuildHasher, { fn encode(&self, e: &mut E) -> Result<(), E::Error> { - e.emit_map(self.len(), |e| { - for (i, (key, val)) in self.iter().enumerate() { - e.emit_map_elt_key(i, |e| key.encode(e))?; - e.emit_map_elt_val(|e| val.encode(e))?; - } - Ok(()) - }) + e.emit_usize(self.len())?; + for (key, val) in self.iter() { + key.encode(e)?; + val.encode(e)?; + } + Ok(()) } } @@ -162,12 +157,11 @@ where S: BuildHasher, { fn encode(&self, s: &mut E) -> Result<(), E::Error> { - s.emit_seq(self.len(), |s| { - for (i, e) in self.iter().enumerate() { - s.emit_seq_elt(i, |s| e.encode(s))?; - } - Ok(()) - }) + s.emit_usize(self.len())?; + for e in self.iter() { + e.encode(s)?; + } + Ok(()) } } @@ -194,13 +188,12 @@ where S: BuildHasher, { fn encode(&self, e: &mut E) -> Result<(), E::Error> { - e.emit_map(self.len(), |e| { - for (i, (key, val)) in self.iter().enumerate() { - e.emit_map_elt_key(i, |e| key.encode(e))?; - e.emit_map_elt_val(|e| val.encode(e))?; - } - Ok(()) - }) + e.emit_usize(self.len())?; + for (key, val) in self.iter() { + key.encode(e)?; + val.encode(e)?; + } + Ok(()) } } @@ -229,12 +222,11 @@ where S: BuildHasher, { fn encode(&self, s: &mut E) -> Result<(), E::Error> { - s.emit_seq(self.len(), |s| { - for (i, e) in self.iter().enumerate() { - s.emit_seq_elt(i, |s| e.encode(s))?; - } - Ok(()) - }) + s.emit_usize(self.len())?; + for e in self.iter() { + e.encode(s)?; + } + Ok(()) } } | 
