diff options
Diffstat (limited to 'src/librustsyntax')
| -rw-r--r-- | src/librustsyntax/ast.rs | 1 | ||||
| -rw-r--r-- | src/librustsyntax/fold.rs | 4 | ||||
| -rw-r--r-- | src/librustsyntax/parse/parser.rs | 45 | ||||
| -rw-r--r-- | src/librustsyntax/print/pprust.rs | 6 | ||||
| -rw-r--r-- | src/librustsyntax/visit.rs | 5 |
5 files changed, 13 insertions, 48 deletions
diff --git a/src/librustsyntax/ast.rs b/src/librustsyntax/ast.rs index 67988e807c1..b2e0583c61b 100644 --- a/src/librustsyntax/ast.rs +++ b/src/librustsyntax/ast.rs @@ -289,7 +289,6 @@ enum expr_ { expr_cast(@expr, @ty), expr_if(@expr, blk, option<@expr>), expr_while(@expr, blk), - expr_for(@local, @expr, blk), expr_do_while(blk, @expr), /* Conditionless loop (can be exited with break, cont, ret, or fail) Same semantics as while(true) { body }, but typestate knows that the diff --git a/src/librustsyntax/fold.rs b/src/librustsyntax/fold.rs index ca690c55ade..07411a3051d 100644 --- a/src/librustsyntax/fold.rs +++ b/src/librustsyntax/fold.rs @@ -416,10 +416,6 @@ fn noop_fold_expr(e: expr_, fld: ast_fold) -> expr_ { expr_while(cond, body) { expr_while(fld.fold_expr(cond), fld.fold_block(body)) } - expr_for(decl, expr, blk) { - expr_for(fld.fold_local(decl), fld.fold_expr(expr), - fld.fold_block(blk)) - } expr_do_while(blk, expr) { expr_do_while(fld.fold_block(blk), fld.fold_expr(expr)) } diff --git a/src/librustsyntax/parse/parser.rs b/src/librustsyntax/parse/parser.rs index c48d7b3c567..c2f1dd58096 100644 --- a/src/librustsyntax/parse/parser.rs +++ b/src/librustsyntax/parse/parser.rs @@ -1405,36 +1405,18 @@ fn parse_else_expr(p: parser) -> @ast::expr { fn parse_for_expr(p: parser) -> @ast::expr { let lo = p.last_span; - // FIXME remove this kludge after migration and snapshotting (#1619) - let new_style = alt p.token { - token::IDENT(_, false) { alt p.look_ahead(1u) { - token::DOT | token::LPAREN { true } - _ { false } - } } - token::IDENT(_, true) { true } - _ { false } - }; - if new_style { - let call = parse_expr_res(p, RESTRICT_STMT_EXPR); - alt call.node { - ast::expr_call(f, args, true) { - let b_arg = vec::last(args); - let last = mk_expr(p, b_arg.span.lo, b_arg.span.hi, - ast::expr_loop_body(b_arg)); - @{node: ast::expr_call(f, vec::init(args) + [last], true) - with *call} - } - _ { - p.span_fatal(lo, "`for` must be followed by a block call"); - } - } - } else { - p.warn("old-style for"); - let decl = parse_local(p, false, false); - expect_word(p, "in"); - let seq = parse_expr(p); - let body = parse_block_no_value(p); - mk_expr(p, lo.lo, body.span.hi, ast::expr_for(decl, seq, body)) + let call = parse_expr_res(p, RESTRICT_STMT_EXPR); + alt call.node { + ast::expr_call(f, args, true) { + let b_arg = vec::last(args); + let last = mk_expr(p, b_arg.span.lo, b_arg.span.hi, + ast::expr_loop_body(b_arg)); + @{node: ast::expr_call(f, vec::init(args) + [last], true) + with *call} + } + _ { + p.span_fatal(lo, "`for` must be followed by a block call"); + } } } @@ -1755,8 +1737,7 @@ fn expr_requires_semi_to_be_stmt(e: @ast::expr) -> bool { ast::expr_if(_, _, _) | ast::expr_if_check(_, _, _) | ast::expr_alt(_, _, _) | ast::expr_block(_) | ast::expr_do_while(_, _) | ast::expr_while(_, _) - | ast::expr_loop(_) | ast::expr_for(_, _, _) - | ast::expr_call(_, _, true) { + | ast::expr_loop(_) | ast::expr_call(_, _, true) { false } _ { true } diff --git a/src/librustsyntax/print/pprust.rs b/src/librustsyntax/print/pprust.rs index ef0e512bbfe..3e5a123bd73 100644 --- a/src/librustsyntax/print/pprust.rs +++ b/src/librustsyntax/print/pprust.rs @@ -935,12 +935,6 @@ fn print_expr(s: ps, &&expr: @ast::expr) { space(s.s); print_block(s, blk); } - ast::expr_for(decl, expr, blk) { - head(s, "for"); - print_for_decl(s, decl, expr); - space(s.s); - print_block(s, blk); - } ast::expr_do_while(blk, expr) { head(s, "do"); space(s.s); diff --git a/src/librustsyntax/visit.rs b/src/librustsyntax/visit.rs index fbeae7bc5a9..be08202ea40 100644 --- a/src/librustsyntax/visit.rs +++ b/src/librustsyntax/visit.rs @@ -359,11 +359,6 @@ fn visit_expr<E>(ex: @expr, e: E, v: vt<E>) { } expr_while(x, b) { v.visit_expr(x, e, v); v.visit_block(b, e, v); } expr_loop(b) { v.visit_block(b, e, v); } - expr_for(dcl, x, b) { - v.visit_local(dcl, e, v); - v.visit_expr(x, e, v); - v.visit_block(b, e, v); - } expr_do_while(b, x) { v.visit_block(b, e, v); v.visit_expr(x, e, v); } expr_alt(x, arms, _) { v.visit_expr(x, e, v); |
