about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-10-23 11:16:31 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-10-23 12:10:04 -0700
commit46fef3d60155d4471ce23626501986aeb2c14c9b (patch)
tree02a00c12ae5e721de5e0933513da9c72941d95d7 /src/libsyntax
parent11e92f37c13194ad5c1f82a980e7f7ee02345801 (diff)
downloadrust-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.rs10
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()),