about summary refs log tree commit diff
path: root/src/comp/metadata/decoder.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-07-06 11:26:26 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-07-06 11:26:26 -0700
commitbbdba21b1f3c7dfc4c0bac3525cc35939ae8ca4c (patch)
treed9cb0046b2a608b4b44c54eacce7951326c65df2 /src/comp/metadata/decoder.rs
parentec890fff23d80da97086e89f29ef7f8d14dbaab8 (diff)
downloadrust-bbdba21b1f3c7dfc4c0bac3525cc35939ae8ca4c.tar.gz
rust-bbdba21b1f3c7dfc4c0bac3525cc35939ae8ca4c.zip
rustc: Revert the conversion to interior vectors due to heap corruption
Diffstat (limited to 'src/comp/metadata/decoder.rs')
-rw-r--r--src/comp/metadata/decoder.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/comp/metadata/decoder.rs b/src/comp/metadata/decoder.rs
index a9df1a99d06..7bcb9e48bf8 100644
--- a/src/comp/metadata/decoder.rs
+++ b/src/comp/metadata/decoder.rs
@@ -194,27 +194,27 @@ fn get_symbol(session::session sess, ast::def_id def) -> str {
     ret item_symbol(lookup_item(def._1, data));
 }
 
-fn get_tag_variants(ty::ctxt tcx, ast::def_id def) -> ty::variant_info[] {
+fn get_tag_variants(ty::ctxt tcx, ast::def_id def) -> vec[ty::variant_info] {
     auto external_crate_id = def._0;
     auto data = tcx.sess.get_external_crate(external_crate_id).data;
     auto items = ebml::get_doc(ebml::new_doc(data), tag_items);
     auto item = find_item(def._1, items);
-    let ty::variant_info[] infos = ~[];
+    let vec[ty::variant_info] infos = [];
     auto variant_ids = tag_variant_ids(item, external_crate_id);
     for (ast::def_id did in variant_ids) {
         auto item = find_item(did._1, items);
         auto ctor_ty = item_type(item, external_crate_id, tcx);
-        let ty::t[] arg_tys = ~[];
+        let vec[ty::t] arg_tys = [];
         alt (ty::struct(tcx, ctor_ty)) {
             case (ty::ty_fn(_, ?args, _, _, _)) {
-                for (ty::arg a in args) { arg_tys += ~[a.ty]; }
+                for (ty::arg a in args) { arg_tys += [a.ty]; }
             }
             case (_) {
                 // Nullary tag variant.
 
             }
         }
-        infos += ~[rec(args=arg_tys, ctor_ty=ctor_ty, id=did)];
+        infos += [rec(args=arg_tys, ctor_ty=ctor_ty, id=did)];
     }
     ret infos;
 }
@@ -290,8 +290,8 @@ fn get_meta_items(&ebml::doc md) -> vec[@ast::meta_item] {
     ret items;
 }
 
-fn get_attributes(&ebml::doc md) -> ast::attribute[] {
-    let ast::attribute[] attrs = ~[];
+fn get_attributes(&ebml::doc md) -> vec[ast::attribute] {
+    let vec[ast::attribute] attrs = [];
     alt (ebml::maybe_get_doc(md, tag_attributes)) {
         case (option::some(?attrs_d)) {
             for each (ebml::doc attr_doc in
@@ -301,9 +301,9 @@ fn get_attributes(&ebml::doc md) -> ast::attribute[] {
                 // an attribute
                 assert (vec::len(meta_items) == 1u);
                 auto meta_item = meta_items.(0);
-                attrs += ~[rec(node=rec(style=ast::attr_outer,
-                                        value=*meta_item),
-                               span=rec(lo=0u, hi=0u))];
+                attrs += [rec(node=rec(style=ast::attr_outer,
+                                       value=*meta_item),
+                              span=rec(lo=0u, hi=0u))];
             }
         }
         case (option::none) { }
@@ -327,7 +327,7 @@ fn list_crate_attributes(&ebml::doc md, io::writer out) {
     out.write_str("\n\n");
 }
 
-fn get_crate_attributes(&vec[u8] data) -> ast::attribute[] {
+fn get_crate_attributes(&vec[u8] data) -> vec[ast::attribute] {
     ret get_attributes(ebml::new_doc(data));
 }