Skip to content

Commit 6f84bfb

Browse files
committed
make more code use dvec
1 parent 10145b7 commit 6f84bfb

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/rustc/middle/resolve.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import std::{list};
1717
import std::list::{list, nil, cons};
1818
import option::{is_none, is_some};
1919
import syntax::print::pprust::*;
20+
import dvec::{dvec, extensions};
2021

2122
export resolve_crate;
2223
export def_map, ext_map, exp_map, impl_map;
@@ -1788,7 +1789,7 @@ fn check_arm(e: @env, a: ast::arm, &&x: (), v: vt<()>) {
17881789
visit::visit_arm(a, x, v);
17891790
let ch0 = checker(*e, "binding");
17901791
check_pat(e, ch0, a.pats[0]);
1791-
let seen0 = ch0.seen;
1792+
let seen0 = ch0.seen.get();
17921793
let mut i = vec::len(a.pats);
17931794
while i > 1u {
17941795
i -= 1u;
@@ -1797,7 +1798,7 @@ fn check_arm(e: @env, a: ast::arm, &&x: (), v: vt<()>) {
17971798

17981799
// Ensure the bindings introduced in this pattern are the same as in
17991800
// the first pattern.
1800-
if vec::len(ch.seen) != vec::len(seen0) {
1801+
if ch.seen.len() != seen0.len() {
18011802
e.sess.span_err(a.pats[i].span,
18021803
"inconsistent number of bindings");
18031804
} else {
@@ -1892,11 +1893,10 @@ fn check_ty(e: @env, ty: @ast::ty, &&x: (), v: vt<()>) {
18921893
visit::visit_ty(ty, x, v);
18931894
}
18941895

1895-
type checker = @{mut seen: [ident], kind: str, sess: session};
1896+
type checker = @{seen: dvec<ident>, kind: str, sess: session};
18961897

18971898
fn checker(e: env, kind: str) -> checker {
1898-
let seen: [ident] = [];
1899-
ret @{mut seen: seen, kind: kind, sess: e.sess};
1899+
ret @{seen: dvec(), kind: kind, sess: e.sess};
19001900
}
19011901

19021902
fn check_name(ch: checker, sp: span, name: ident) {
@@ -1908,7 +1908,7 @@ fn check_name(ch: checker, sp: span, name: ident) {
19081908
}
19091909
fn add_name(ch: checker, sp: span, name: ident) {
19101910
check_name(ch, sp, name);
1911-
ch.seen += [name];
1911+
ch.seen.push(name);
19121912
}
19131913

19141914
fn ensure_unique<T>(e: env, sp: span, elts: [T], id: fn(T) -> ident,

src/rustc/middle/trans/shape.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import syntax::ast_util::dummy_sp;
1515
import syntax::util::interner;
1616
import util::common;
1717
import syntax::codemap::span;
18+
import dvec::{dvec, extensions};
1819

1920
import std::map::hashmap;
2021

@@ -26,7 +27,7 @@ type ctxt =
2627
{mut next_tag_id: u16,
2728
pad: u16,
2829
tag_id_to_index: hashmap<ast::def_id, u16>,
29-
mut tag_order: [ast::def_id],
30+
tag_order: dvec<ast::def_id>,
3031
resources: interner::interner<res_info>,
3132
llshapetablesty: TypeRef,
3233
llshapetables: ValueRef};
@@ -273,7 +274,7 @@ fn mk_ctxt(llmod: ModuleRef) -> ctxt {
273274
ret {mut next_tag_id: 0u16,
274275
pad: 0u16,
275276
tag_id_to_index: common::new_def_hash(),
276-
mut tag_order: [],
277+
tag_order: dvec(),
277278
resources: interner::mk(hash_res_info, {|a, b| a == b}),
278279
llshapetablesty: llshapetablesty,
279280
llshapetables: llshapetables};
@@ -328,7 +329,7 @@ fn shape_of(ccx: @crate_ctxt, t: ty::t, ty_param_map: [uint]) -> [u8] {
328329
none {
329330
id = ccx.shape_cx.next_tag_id;
330331
ccx.shape_cx.tag_id_to_index.insert(did, id);
331-
ccx.shape_cx.tag_order += [did];
332+
ccx.shape_cx.tag_order.push(did);
332333
ccx.shape_cx.next_tag_id += 1u16;
333334
}
334335
some(existing_id) { id = existing_id; }
@@ -482,7 +483,7 @@ fn gen_enum_shapes(ccx: @crate_ctxt) -> ValueRef {
482483
let mut i = 0u;
483484
let mut data = [];
484485
let mut offsets = [];
485-
while i < vec::len(ccx.shape_cx.tag_order) {
486+
while i < ccx.shape_cx.tag_order.len() {
486487
let did = ccx.shape_cx.tag_order[i];
487488
let variants = ty::enum_variants(ccx.tcx, did);
488489
let item_tyt = ty::lookup_item_type(ccx.tcx, did);

0 commit comments

Comments
 (0)