Skip to content

Commit 12f149a

Browse files
msullivangraydon
authored andcommitted
---
yaml --- r: 3151 b: refs/heads/master c: 0665991 h: refs/heads/master i: 3149: 5e80032 3147: 4480701 3143: edb55f1 3135: 9f7c8cf v: v3
1 parent 6b07324 commit 12f149a

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: e8d2d27a8866e9d0790905aee190828601d8784e
2+
refs/heads/master: 066599104aa50b684e63c0e8c39c5240a1fd597e

trunk/src/comp/front/ast.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -245,11 +245,13 @@ tag expr_ {
245245
expr_alt(@expr, vec[arm], ann);
246246
expr_fn(_fn, ann);
247247
expr_block(block, ann);
248-
expr_move(@expr, /* TODO: @expr|is_lval */@expr, ann);
249-
expr_assign(@expr, /* TODO: @expr|is_lval */@expr, ann);
250-
expr_assign_op(binop, @expr, /* TODO: @expr|is_lval */@expr, ann);
251-
expr_send(@expr, /* TODO: @expr|is_lval */@expr, ann);
252-
expr_recv(@expr, /* TODO: @expr|is_lval */@expr, ann);
248+
expr_move(@expr /* TODO: @expr|is_lval */, @expr, ann);
249+
expr_assign(@expr /* TODO: @expr|is_lval */, @expr, ann);
250+
expr_swap(@expr /* TODO: @expr|is_lval */,
251+
@expr /* TODO: @expr|is_lval */, ann);
252+
expr_assign_op(binop, @expr /* TODO: @expr|is_lval */, @expr, ann);
253+
expr_send(@expr /* TODO: @expr|is_lval */, @expr, ann);
254+
expr_recv(@expr /* TODO: @expr|is_lval */, @expr, ann);
253255
expr_field(@expr, ident, ann);
254256
expr_index(@expr, @expr, ann);
255257
expr_path(path, ann);

trunk/src/comp/front/parser.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1176,6 +1176,12 @@ fn parse_assign_expr(&parser p) -> @ast::expr {
11761176
ret @spanned(lo, rhs.span.hi,
11771177
ast::expr_recv(rhs, lhs, p.get_ann()));
11781178
}
1179+
case (token::DARROW) {
1180+
p.bump();
1181+
auto rhs = parse_expr(p);
1182+
ret @spanned(lo, rhs.span.hi,
1183+
ast::expr_swap(lhs, rhs, p.get_ann()));
1184+
}
11791185
case (_) {/* fall through */ }
11801186
}
11811187
ret lhs;
@@ -1536,7 +1542,9 @@ fn stmt_ends_with_semi(&ast::stmt stmt) -> bool {
15361542
case (ast::expr_alt(_, _, _)) { ret false; }
15371543
case (ast::expr_fn(_, _)) { ret false; }
15381544
case (ast::expr_block(_, _)) { ret false; }
1545+
case (ast::expr_move(_, _, _)) { ret true; }
15391546
case (ast::expr_assign(_, _, _)) { ret true; }
1547+
case (ast::expr_swap(_, _, _)) { ret true; }
15401548
case (ast::expr_assign_op(_, _, _, _)) { ret true; }
15411549
case (ast::expr_send(_, _, _)) { ret true; }
15421550
case (ast::expr_recv(_, _, _)) { ret true; }

0 commit comments

Comments
 (0)