diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-10-23 11:16:31 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-10-23 12:10:04 -0700 |
| commit | 46fef3d60155d4471ce23626501986aeb2c14c9b (patch) | |
| tree | 02a00c12ae5e721de5e0933513da9c72941d95d7 /src/libsyntax | |
| parent | 11e92f37c13194ad5c1f82a980e7f7ee02345801 (diff) | |
| download | rust-46fef3d60155d4471ce23626501986aeb2c14c9b.tar.gz rust-46fef3d60155d4471ce23626501986aeb2c14c9b.zip | |
Don't generate move-by-init in AST builder
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/pipes/ast_builder.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libsyntax/ext/pipes/ast_builder.rs b/src/libsyntax/ext/pipes/ast_builder.rs index f10cbc2a589..632b3b93af9 100644 --- a/src/libsyntax/ext/pipes/ast_builder.rs +++ b/src/libsyntax/ext/pipes/ast_builder.rs @@ -105,6 +105,13 @@ impl ext_ctxt: ext_ctxt_ast_builder { span: self.empty_span()} } + fn move_expr(e: @ast::expr) -> @ast::expr { + @{id: self.next_id(), + callee_id: self.next_id(), + node: ast::expr_unary_move(e), + span: e.span} + } + fn stmt_expr(e: @ast::expr) -> @ast::stmt { @{node: ast::stmt_expr(e, self.next_id()), span: self.empty_span()} @@ -126,8 +133,7 @@ impl ext_ctxt: ext_ctxt_ast_builder { self.empty_span()), None), span: self.empty_span()}, - init: Some({op: ast::init_move, - expr: e}), + init: Some(self.move_expr(e)), id: self.next_id()}, span: self.empty_span()}]), span: self.empty_span()}, self.next_id()), |
