about summary refs log tree commit diff
path: root/src/comp/middle
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-12-15 17:25:58 -0800
committerBrian Anderson <banderson@mozilla.com>2011-12-15 17:25:58 -0800
commit1f8f6054d283f7a2d5e5277f422463bfaecbe139 (patch)
tree04eb9201b66ee5f3721040b8a1f166c4bae2171b /src/comp/middle
parent26db74c81193c895f51ee67f3cfba5b2b412b1cf (diff)
downloadrust-1f8f6054d283f7a2d5e5277f422463bfaecbe139.tar.gz
rust-1f8f6054d283f7a2d5e5277f422463bfaecbe139.zip
rustc: Box tag variants to avoid copies
Diffstat (limited to 'src/comp/middle')
-rw-r--r--src/comp/middle/ty.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index 57ef16ded61..2ff7f0b1b74 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -2721,7 +2721,7 @@ fn def_has_ty_params(def: ast::def) -> bool {
 
 
 // Tag information
-type variant_info = {args: [ty::t], ctor_ty: ty::t, id: ast::def_id};
+type variant_info = @{args: [ty::t], ctor_ty: ty::t, id: ast::def_id};
 
 fn tag_variants(cx: ctxt, id: ast::def_id) -> @mutable [variant_info] {
     if ast::local_crate != id.crate {
@@ -2752,9 +2752,9 @@ fn tag_variants(cx: ctxt, id: ast::def_id) -> @mutable [variant_info] {
                 }
                 let did = variant.node.id;
                 *result +=
-                    [{args: arg_tys,
-                      ctor_ty: ctor_ty,
-                      id: ast_util::local_def(did)}];
+                    [@{args: arg_tys,
+                       ctor_ty: ctor_ty,
+                       id: ast_util::local_def(did)}];
             }
             smallintmap::insert(*cx.tag_var_cache, id.node as uint, result);
             ret result;