From ec898244f7b543dfe4c5a04fd42e638d7c521f7b Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 18 Aug 2011 11:37:19 -0700 Subject: [PATCH] Remove seq_kind from ast::expr_vec --- src/comp/front/test.rs | 2 +- src/comp/middle/trans.rs | 3 +-- src/comp/middle/tstate/pre_post_conditions.rs | 2 +- src/comp/middle/tstate/states.rs | 2 +- src/comp/middle/typeck.rs | 10 ++-------- src/comp/syntax/ast.rs | 2 +- src/comp/syntax/ext/concat_idents.rs | 2 +- src/comp/syntax/ext/env.rs | 2 +- src/comp/syntax/ext/fmt.rs | 4 ++-- src/comp/syntax/ext/ident_to_str.rs | 2 +- src/comp/syntax/ext/simplext.rs | 12 ++++++------ src/comp/syntax/fold.rs | 4 ++-- src/comp/syntax/parse/parser.rs | 8 ++++---- src/comp/syntax/print/pprust.rs | 4 ++-- src/comp/syntax/visit.rs | 2 +- 15 files changed, 27 insertions(+), 34 deletions(-) diff --git a/src/comp/front/test.rs b/src/comp/front/test.rs index ce172c0062f6..de6d67b46f1d 100644 --- a/src/comp/front/test.rs +++ b/src/comp/front/test.rs @@ -236,7 +236,7 @@ fn mk_test_desc_vec(cx: &test_ctxt) -> @ast::expr { } ret @{id: cx.next_node_id(), - node: ast::expr_vec(descs, ast::imm, ast::sk_unique), + node: ast::expr_vec(descs, ast::imm), span: ast::dummy_sp()}; } diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index ebaa225a00d4..6baf08d931b7 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -5123,8 +5123,7 @@ fn trans_expr_out(cx: &@block_ctxt, e: &@ast::expr, output: out_method) -> ret trans_call(cx, f, none::, args, e.id); } ast::expr_cast(val, _) { ret trans_cast(cx, val, e.id); } - ast::expr_vec(args, _, ast::sk_rc.) { ret trans_vec(cx, args, e.id); } - ast::expr_vec(args, _, ast::sk_unique.) { + ast::expr_vec(args, _) { ret trans_ivec(cx, args, e.id); } ast::expr_rec(args, base) { ret trans_rec(cx, args, base, e.id); } diff --git a/src/comp/middle/tstate/pre_post_conditions.rs b/src/comp/middle/tstate/pre_post_conditions.rs index 958687bfb00d..f8875f3ff7ca 100644 --- a/src/comp/middle/tstate/pre_post_conditions.rs +++ b/src/comp/middle/tstate/pre_post_conditions.rs @@ -357,7 +357,7 @@ fn find_pre_post_expr(fcx: &fn_ctxt, e: @expr) { _ { } } } - expr_vec(args, _, _) { find_pre_post_exprs(fcx, args, e.id); } + expr_vec(args, _) { find_pre_post_exprs(fcx, args, e.id); } expr_path(p) { let rslt = expr_pp(fcx.ccx, e); clear_pp(rslt); diff --git a/src/comp/middle/tstate/states.rs b/src/comp/middle/tstate/states.rs index b39093d29d8f..7bba52ceb6d0 100644 --- a/src/comp/middle/tstate/states.rs +++ b/src/comp/middle/tstate/states.rs @@ -312,7 +312,7 @@ fn find_pre_post_state_expr(fcx: &fn_ctxt, pres: &prestate, e: @expr) -> alt e.node { - expr_vec(elts, _, _) { + expr_vec(elts, _) { ret find_pre_post_state_exprs(fcx, pres, e.id, vec::init_elt(init_assign, vec::len(elts)), diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 901edf3b3722..7f3af69c2aea 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -2181,18 +2181,12 @@ fn check_expr_with_unifier(fcx: &@fn_ctxt, expr: &@ast::expr, } write::ty_only_fixup(fcx, id, t_1); } - ast::expr_vec(args, mut, kind) { + ast::expr_vec(args, mut) { let t: ty::t = next_ty_var(fcx); for e: @ast::expr in args { bot |= check_expr_with(fcx, e, t); } - let typ; - alt kind { - ast::sk_rc. { typ = ty::mk_vec(tcx, {ty: t, mut: mut}); } - ast::sk_unique. { - typ = ty::mk_ivec(tcx, {ty: t, mut: mut}); - } - } + let typ = ty::mk_ivec(tcx, {ty: t, mut: mut}); write::ty_only_fixup(fcx, id, typ); } ast::expr_tup(elts) { diff --git a/src/comp/syntax/ast.rs b/src/comp/syntax/ast.rs index 066a0b9675bf..2bafc3da800c 100644 --- a/src/comp/syntax/ast.rs +++ b/src/comp/syntax/ast.rs @@ -292,7 +292,7 @@ tag seq_kind { sk_unique; sk_rc; } type expr = {id: node_id, node: expr_, span: span}; tag expr_ { - expr_vec([@expr], mutability, seq_kind); + expr_vec([@expr], mutability); expr_rec([field], option::t<@expr>); expr_call(@expr, [@expr]); expr_tup([@expr]); diff --git a/src/comp/syntax/ext/concat_idents.rs b/src/comp/syntax/ext/concat_idents.rs index 61eb791f6e05..13f87e044c4d 100644 --- a/src/comp/syntax/ext/concat_idents.rs +++ b/src/comp/syntax/ext/concat_idents.rs @@ -5,7 +5,7 @@ import syntax::ast; fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr, _body: option::t) -> @ast::expr { let args: [@ast::expr] = alt arg.node { - ast::expr_vec(elts, _, _) { elts } + ast::expr_vec(elts, _) { elts } _ { cx.span_fatal(sp, "#concat_idents requires a vector argument .") } }; let res: ast::ident = ""; diff --git a/src/comp/syntax/ext/env.rs b/src/comp/syntax/ext/env.rs index 142bff8f7dc4..50c5bda58581 100644 --- a/src/comp/syntax/ext/env.rs +++ b/src/comp/syntax/ext/env.rs @@ -13,7 +13,7 @@ export expand_syntax_ext; fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr, _body: option::t) -> @ast::expr { let args: [@ast::expr] = alt arg.node { - ast::expr_vec(elts, _, _) { elts } + ast::expr_vec(elts, _) { elts } _ { cx.span_fatal(sp, "#env requires arguments of the form `[...]`.") } }; if vec::len::<@ast::expr>(args) != 1u { diff --git a/src/comp/syntax/ext/fmt.rs b/src/comp/syntax/ext/fmt.rs index 33c8cebb183e..738b65c7d91d 100644 --- a/src/comp/syntax/ext/fmt.rs +++ b/src/comp/syntax/ext/fmt.rs @@ -18,7 +18,7 @@ export expand_syntax_ext; fn expand_syntax_ext(cx: &ext_ctxt, sp: span, arg: @ast::expr, _body: option::t) -> @ast::expr { let args: [@ast::expr] = alt arg.node { - ast::expr_vec(elts, _, _) { elts } + ast::expr_vec(elts, _) { elts } _ { cx.span_fatal(sp, "#fmt requires arguments of the form `[...]`.") } }; if vec::len::<@ast::expr>(args) == 0u { @@ -73,7 +73,7 @@ fn pieces_to_expr(cx: &ext_ctxt, sp: span, pieces: &[piece], } fn make_vec_expr(cx: &ext_ctxt, sp: span, exprs: &[@ast::expr]) -> @ast::expr { - let vecexpr = ast::expr_vec(exprs, ast::imm, ast::sk_unique); + let vecexpr = ast::expr_vec(exprs, ast::imm); ret @{id: cx.next_id(), node: vecexpr, span: sp}; } fn make_call(cx: &ext_ctxt, sp: span, fn_path: &[ast::ident], diff --git a/src/comp/syntax/ext/ident_to_str.rs b/src/comp/syntax/ext/ident_to_str.rs index 2681228976de..ce24e2605e40 100644 --- a/src/comp/syntax/ext/ident_to_str.rs +++ b/src/comp/syntax/ext/ident_to_str.rs @@ -6,7 +6,7 @@ import syntax::ast; fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr, _body: option::t) -> @ast::expr { let args: [@ast::expr] = alt arg.node { - ast::expr_vec(elts, _, _) { elts } + ast::expr_vec(elts, _) { elts } _ { cx.span_fatal(sp, "#ident_to_str requires a vector argument .") } }; if vec::len::<@ast::expr>(args) != 1u { diff --git a/src/comp/syntax/ext/simplext.rs b/src/comp/syntax/ext/simplext.rs index dbe3920f4e8b..6386b628744f 100644 --- a/src/comp/syntax/ext/simplext.rs +++ b/src/comp/syntax/ext/simplext.rs @@ -449,7 +449,7 @@ fn p_t_s_rec(cx: &ext_ctxt, m: &matchable, s: &selector, b: &binders) { match_expr(e) { alt e.node { expr_path(p_pth) { p_t_s_r_path(cx, p_pth, s, b); } - expr_vec(p_elts, _, _) { + expr_vec(p_elts, _) { alt elts_to_ell(cx, p_elts) { {pre: pre, rep: some(repeat_me), post: post} { p_t_s_r_length(cx, vec::len(pre) + vec::len(post), @@ -607,7 +607,7 @@ fn p_t_s_r_ellipses(cx: &ext_ctxt, repeat_me: @expr, offset: uint, ret alt m { match_expr(e) { alt e.node { - expr_vec(arg_elts, _, _) { + expr_vec(arg_elts, _) { let elts = ~[]; let idx = offset; while idx < vec::len(arg_elts) { @@ -636,7 +636,7 @@ fn p_t_s_r_length(cx: &ext_ctxt, len: uint, at_least: bool, s: selector, ret alt m { match_expr(e) { alt e.node { - expr_vec(arg_elts, _, _) { + expr_vec(arg_elts, _) { let actual_len = vec::len(arg_elts); if (at_least && actual_len >= len) || actual_len == len { some(leaf(match_exact)) @@ -660,7 +660,7 @@ fn p_t_s_r_actual_vector(cx: &ext_ctxt, elts: [@expr], _repeat_after: bool, ret alt m { match_expr(e) { alt e.node { - expr_vec(arg_elts, _, _) { + expr_vec(arg_elts, _) { some(leaf(match_expr(arg_elts.(idx)))) } _ { none } @@ -678,7 +678,7 @@ fn p_t_s_r_actual_vector(cx: &ext_ctxt, elts: [@expr], _repeat_after: bool, fn add_new_extension(cx: &ext_ctxt, sp: span, arg: @expr, _body: option::t) -> base::macro_def { let args: [@ast::expr] = alt arg.node { - ast::expr_vec(elts, _, _) { elts } + ast::expr_vec(elts, _) { elts } _ { cx.span_fatal(sp, "#macro requires arguments of the form `[...]`.") } @@ -688,7 +688,7 @@ fn add_new_extension(cx: &ext_ctxt, sp: span, arg: @expr, let clauses: [@clause] = ~[]; for arg: @expr in args { alt arg.node { - expr_vec(elts, mut, seq_kind) { + expr_vec(elts, mut) { if vec::len(elts) != 2u { cx.span_fatal((*arg).span, "extension clause must consist of [" + diff --git a/src/comp/syntax/fold.rs b/src/comp/syntax/fold.rs index b81a56c576f8..5593ddb21c6b 100644 --- a/src/comp/syntax/fold.rs +++ b/src/comp/syntax/fold.rs @@ -339,8 +339,8 @@ fn noop_fold_expr(e: &expr_, fld: ast_fold) -> expr_ { ret alt e { - expr_vec(exprs, mut, seq_kind) { - expr_vec(fld.map_exprs(fld.fold_expr, exprs), mut, seq_kind) + expr_vec(exprs, mut) { + expr_vec(fld.map_exprs(fld.fold_expr, exprs), mut) } expr_rec(fields, maybe_expr) { expr_rec(vec::map(fold_field, fields), diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs index da033bd9f1fb..9357b11fa031 100644 --- a/src/comp/syntax/parse/parser.rs +++ b/src/comp/syntax/parse/parser.rs @@ -885,7 +885,7 @@ fn parse_bottom_expr(p: &parser) -> @ast::expr { let es = parse_seq_to_end(token::RBRACKET, some(token::COMMA), parse_expr, p); - ex = ast::expr_vec(es, mut, ast::sk_unique); + ex = ast::expr_vec(es, mut); } else if (p.peek() == token::POUND_LT) { p.bump(); let ty = parse_ty(p, false); @@ -909,7 +909,7 @@ fn parse_bottom_expr(p: &parser) -> @ast::expr { let es = parse_seq_to_end(token::RBRACKET, some(token::COMMA), parse_expr, p); - ex = ast::expr_vec(es, mut, ast::sk_unique); + ex = ast::expr_vec(es, mut); } token::LIT_STR(s) { p.bump(); @@ -1079,7 +1079,7 @@ fn parse_syntax_ext_naked(p: &parser, lo: uint) -> @ast::expr { }; let hi = es.span.hi; let e = mk_expr(p, es.span.lo, hi, - ast::expr_vec(es.node, ast::imm, ast::sk_rc)); + ast::expr_vec(es.node, ast::imm)); ret mk_mac_expr(p, lo, hi, ast::mac_invoc(pth, e, none)); } @@ -1636,7 +1636,7 @@ fn stmt_ends_with_semi(stmt: &ast::stmt) -> bool { } ast::stmt_expr(e, _) { ret alt e.node { - ast::expr_vec(_, _, _) { true } + ast::expr_vec(_, _) { true } ast::expr_rec(_, _) { true } ast::expr_tup(_) { true } ast::expr_call(_, _) { true } diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index eb7e8c726970..900b141b67fc 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -694,7 +694,7 @@ fn print_mac(s: &ps, m: &ast::mac) { word(s.s, "#"); print_path(s, path, false); alt (arg.node) { - ast::expr_vec(_,_,_) {} + ast::expr_vec(_,_) {} _ { word(s.s, " "); } } print_expr(s, arg); @@ -718,7 +718,7 @@ fn print_expr(s: &ps, expr: &@ast::expr) { let ann_node = node_expr(s, expr); s.ann.pre(ann_node); alt expr.node { - ast::expr_vec(exprs, mut, kind) { + ast::expr_vec(exprs, mut) { ibox(s, indent_unit); word(s.s, "["); if mut == ast::mut { diff --git a/src/comp/syntax/visit.rs b/src/comp/syntax/visit.rs index ee271231d18f..f7d3832aad6c 100644 --- a/src/comp/syntax/visit.rs +++ b/src/comp/syntax/visit.rs @@ -245,7 +245,7 @@ fn visit_mac(m: mac, e: &E, v: &vt) { fn visit_expr(ex: &@expr, e: &E, v: &vt) { alt ex.node { - expr_vec(es, _, _) { visit_exprs(es, e, v); } + expr_vec(es, _) { visit_exprs(es, e, v); } expr_rec(flds, base) { for f: field in flds { v.visit_expr(f.node.expr, e, v); } visit_expr_opt(base, e, v);