Skip to content

Commit 13c924c

Browse files
committed
Remove do { ... } while ... from the language.
1 parent 5af58e7 commit 13c924c

File tree

16 files changed

+11
-118
lines changed

16 files changed

+11
-118
lines changed

src/fuzzer/fuzzer.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,6 @@ pure fn safe_to_use_expr(e: ast::expr, tm: test_mode) -> bool {
7474
ast::expr_alt(_, _, _) { false }
7575
ast::expr_while(_, _) { false }
7676

77-
// https://github.com/mozilla/rust/issues/955
78-
ast::expr_do_while(_, _) { false }
79-
8077
// https://github.com/mozilla/rust/issues/929
8178
ast::expr_cast(_, _) { false }
8279
ast::expr_assert(_) { false }

src/librustsyntax/ast.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ enum expr_ {
305305
expr_cast(@expr, @ty),
306306
expr_if(@expr, blk, option<@expr>),
307307
expr_while(@expr, blk),
308-
expr_do_while(blk, @expr),
309308
/* Conditionless loop (can be exited with break, cont, ret, or fail)
310309
Same semantics as while(true) { body }, but typestate knows that the
311310
(implicit) condition is always true. */

src/librustsyntax/fold.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,6 @@ fn noop_fold_expr(e: expr_, fld: ast_fold) -> expr_ {
444444
expr_while(cond, body) {
445445
expr_while(fld.fold_expr(cond), fld.fold_block(body))
446446
}
447-
expr_do_while(blk, expr) {
448-
expr_do_while(fld.fold_block(blk), fld.fold_expr(expr))
449-
}
450447
expr_loop(body) {
451448
expr_loop(fld.fold_block(body))
452449
}

src/librustsyntax/parse/classify.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ fn expr_requires_semi_to_be_stmt(e: @ast::expr) -> bool {
77
alt e.node {
88
ast::expr_if(_, _, _) | ast::expr_if_check(_, _, _)
99
| ast::expr_alt(_, _, _) | ast::expr_block(_)
10-
| ast::expr_do_while(_, _) | ast::expr_while(_, _)
11-
| ast::expr_loop(_) | ast::expr_call(_, _, true) {
10+
| ast::expr_while(_, _) | ast::expr_loop(_)
11+
| ast::expr_call(_, _, true) {
1212
false
1313
}
1414
_ { true }

src/librustsyntax/parse/parser.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -727,8 +727,6 @@ fn parse_bottom_expr(p: parser) -> pexpr {
727727
ret pexpr(parse_for_expr(p));
728728
} else if eat_keyword(p, "while") {
729729
ret pexpr(parse_while_expr(p));
730-
} else if eat_keyword(p, "do") {
731-
ret pexpr(parse_do_while_expr(p));
732730
} else if eat_keyword(p, "loop") {
733731
ret pexpr(parse_loop_expr(p));
734732
} else if eat_keyword(p, "alt") {
@@ -1233,15 +1231,6 @@ fn parse_while_expr(p: parser) -> @expr {
12331231
ret mk_expr(p, lo, hi, expr_while(cond, body));
12341232
}
12351233

1236-
fn parse_do_while_expr(p: parser) -> @expr {
1237-
let lo = p.last_span.lo;
1238-
let body = parse_block_no_value(p);
1239-
expect_keyword(p, "while");
1240-
let cond = parse_expr(p);
1241-
let mut hi = cond.span.hi;
1242-
ret mk_expr(p, lo, hi, expr_do_while(body, cond));
1243-
}
1244-
12451234
fn parse_loop_expr(p: parser) -> @expr {
12461235
let lo = p.last_span.lo;
12471236
let body = parse_block_no_value(p);

src/librustsyntax/print/pprust.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -975,14 +975,6 @@ fn print_expr(s: ps, &&expr: @ast::expr) {
975975
space(s.s);
976976
print_block(s, blk);
977977
}
978-
ast::expr_do_while(blk, expr) {
979-
head(s, "do");
980-
space(s.s);
981-
print_block(s, blk);
982-
space(s.s);
983-
word_space(s, "while");
984-
print_expr(s, expr);
985-
}
986978
ast::expr_alt(expr, arms, mode) {
987979
cbox(s, alt_indent_unit);
988980
ibox(s, 4u);

src/librustsyntax/visit.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,6 @@ fn visit_expr<E>(ex: @expr, e: E, v: vt<E>) {
376376
}
377377
expr_while(x, b) { v.visit_expr(x, e, v); v.visit_block(b, e, v); }
378378
expr_loop(b) { v.visit_block(b, e, v); }
379-
expr_do_while(b, x) { v.visit_block(b, e, v); v.visit_expr(x, e, v); }
380379
expr_alt(x, arms, _) {
381380
v.visit_expr(x, e, v);
382381
for arms.each {|a| v.visit_arm(a, e, v); }

src/rustc/middle/alias.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ fn visit_expr(cx: @ctx, ex: @ast::expr, sc: scope, v: vt<scope>) {
122122
check_lval(cx, dest, sc, v);
123123
}
124124
ast::expr_if(c, then, els) { check_if(c, then, els, sc, v); }
125-
ast::expr_while(_, _) | ast::expr_do_while(_, _) {
125+
ast::expr_while(_, _) {
126126
check_loop(*cx, sc) {|| visit::visit_expr(ex, sc, v); }
127127
}
128128
_ { handled = false; }

src/rustc/middle/borrowck.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -761,9 +761,9 @@ impl categorize_methods for borrowck_ctxt {
761761
ast::expr_vstore(*) | ast::expr_vec(*) | ast::expr_tup(*) |
762762
ast::expr_if_check(*) | ast::expr_if(*) | ast::expr_log(*) |
763763
ast::expr_new(*) | ast::expr_binary(*) | ast::expr_while(*) |
764-
ast::expr_do_while(*) | ast::expr_block(*) | ast::expr_loop(*) |
765-
ast::expr_alt(*) | ast::expr_lit(*) | ast::expr_break |
766-
ast::expr_mac(*) | ast::expr_cont | ast::expr_rec(*) {
764+
ast::expr_block(*) | ast::expr_loop(*) | ast::expr_alt(*) |
765+
ast::expr_lit(*) | ast::expr_break | ast::expr_mac(*) |
766+
ast::expr_cont | ast::expr_rec(*) {
767767
@{id:expr.id, span:expr.span,
768768
cat:cat_rvalue(rv_misc), lp:none,
769769
mutbl:m_imm, ty:expr_ty}

src/rustc/middle/check_loop.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ fn check_crate(tcx: ty::ctxt, crate: @crate) {
1111
},
1212
visit_expr: {|e: @expr, cx: ctx, v: visit::vt<ctx>|
1313
alt e.node {
14-
expr_while(e, b) | expr_do_while(b, e) {
14+
expr_while(e, b) {
1515
v.visit_expr(e, cx, v);
1616
v.visit_block(b, {in_loop: true with cx}, v);
1717
}

0 commit comments

Comments
 (0)