]> git.lizzy.rs Git - rust.git/commitdiff
serialize: implement Encodable for DList
authorblake2-ppc <blake2-ppc>
Sun, 21 Jul 2013 17:31:40 +0000 (19:31 +0200)
committerblake2-ppc <blake2-ppc>
Sun, 21 Jul 2013 17:31:40 +0000 (19:31 +0200)
This impl was missing for unknown reason.

src/libextra/serialize.rs

index 679e5e46547c615fc560d366294daea66f86b5c6..600c7c10fec2e3e9c70df16ee7ffda9a4f35fef2 100644 (file)
@@ -662,6 +662,19 @@ fn decode(d: &mut D) -> (T0, T1, T2, T3, T4) {
     }
 }
 
+impl<
+    S: Encoder,
+    T: Encodable<S>
+> Encodable<S> for DList<T> {
+    fn encode(&self, s: &mut S) {
+        do s.emit_seq(self.len()) |s| {
+            for self.iter().enumerate().advance |(i, e)| {
+                s.emit_seq_elt(i, |s| e.encode(s));
+            }
+        }
+    }
+}
+
 impl<D:Decoder,T:Decodable<D>> Decodable<D> for DList<T> {
     fn decode(d: &mut D) -> DList<T> {
         let mut list = DList::new();