about summary refs log tree commit diff
path: root/src/libstd/serialization.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/serialization.rs')
-rw-r--r--src/libstd/serialization.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libstd/serialization.rs b/src/libstd/serialization.rs
index ba20ff88e3d..ed9cf5570ce 100644
--- a/src/libstd/serialization.rs
+++ b/src/libstd/serialization.rs
@@ -101,13 +101,21 @@ fn read_to_vec<D: deserializer, T: copy>(d: D, f: fn() -> T) -> ~[T] {
     }
 }
 
-impl serializer_helpers<S: serializer> for S {
+trait serializer_helpers {
+    fn emit_from_vec<T>(v: ~[T], f: fn(T));
+}
+
+impl serializer_helpers<S: serializer> of serializer_helpers for S {
     fn emit_from_vec<T>(v: ~[T], f: fn(T)) {
         emit_from_vec(self, v, f)
     }
 }
 
-impl deserializer_helpers<D: deserializer> for D {
+trait deserializer_helpers {
+    fn read_to_vec<T: copy>(f: fn() -> T) -> ~[T];
+}
+
+impl deserializer_helpers<D: deserializer> of deserializer_helpers for D {
     fn read_to_vec<T: copy>(f: fn() -> T) -> ~[T] {
         read_to_vec(self, f)
     }