summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorMichael Sullivan <sully@msully.net>2012-06-22 11:58:07 -0700
committerMichael Sullivan <sully@msully.net>2012-06-22 11:58:07 -0700
commit275c1e44383bbacd8d81a9f80df9ad4da99f0168 (patch)
tree8dfb225767b7a3a803c1cf6e69838404091dd5c6 /src/libsyntax/ext
parent986662cebd3f41911cb72c18f4e824a4856b009b (diff)
downloadrust-275c1e44383bbacd8d81a9f80df9ad4da99f0168.tar.gz
rust-275c1e44383bbacd8d81a9f80df9ad4da99f0168.zip
Serialize out uniq vecs types
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/auto_serialize.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/libsyntax/ext/auto_serialize.rs b/src/libsyntax/ext/auto_serialize.rs
index 75a88fb221b..fe9f59d5538 100644
--- a/src/libsyntax/ext/auto_serialize.rs
+++ b/src/libsyntax/ext/auto_serialize.rs
@@ -452,10 +452,7 @@ fn ser_ty(cx: ext_ctxt, tps: ser_tps_map,
         []
       }
 
-      ast::ty_vstore(_, _) {
-        cx.span_unimpl(ty.span, "serialization for vstore types");
-      }
-
+      ast::ty_vstore(@{node: ast::ty_vec(mt),_}, ast::vstore_uniq) |
       ast::ty_vec(mt) {
         let ser_e =
             cx.expr(
@@ -472,6 +469,11 @@ fn ser_ty(cx: ext_ctxt, tps: ser_tps_map,
             std::serialization::emit_from_vec($(s), $(v), {|__e| $(ser_e) })
         }]
       }
+
+      ast::ty_vstore(_, _) {
+        cx.span_unimpl(ty.span, "serialization for vstore types");
+      }
+
     }
 }
 
@@ -673,14 +675,15 @@ fn deser_ty(cx: ext_ctxt, tps: deser_tps_map,
         #ast{ fail }
       }
 
-      ast::ty_vstore(_, _) {
-        cx.span_unimpl(ty.span, "deserialization for vstore types");
-      }
-
+      ast::ty_vstore(@{node: ast::ty_vec(mt),_}, ast::vstore_uniq) |
       ast::ty_vec(mt) {
         let l = deser_lambda(cx, tps, mt.ty, cx.clone(d));
         #ast{ std::serialization::read_to_vec($(d), $(l)) }
       }
+
+      ast::ty_vstore(_, _) {
+        cx.span_unimpl(ty.span, "deserialization for vstore types");
+      }
     }
 }