about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2014-03-03 18:41:47 +1100
committerHuon Wilson <dbau.pp+github@gmail.com>2014-03-03 22:48:42 +1100
commitc3b904704031047ef9e1f7906d3faee15778ffe5 (patch)
treec5effad359313654e966bdac21a1b6767010c94f /src/libsyntax/parse
parent3f3425a5550e7d8b58d782425b09eab20b91c1c0 (diff)
downloadrust-c3b904704031047ef9e1f7906d3faee15778ffe5.tar.gz
rust-c3b904704031047ef9e1f7906d3faee15778ffe5.zip
syntax: make match arms store the expr directly.
Previously `ast::Arm` was always storing a single `ast::Expr` wrapped in an
`ast::Block` (for historical reasons, AIUI), so we might as just store
that expr directly.

Closes #3085.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 2557af5e436..341151117f0 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2634,16 +2634,7 @@ impl Parser {
                 self.eat(&token::COMMA);
             }
 
-            let blk = P(ast::Block {
-                view_items: Vec::new(),
-                stmts: Vec::new(),
-                expr: Some(expr),
-                id: ast::DUMMY_NODE_ID,
-                rules: DefaultBlock,
-                span: expr.span,
-            });
-
-            arms.push(ast::Arm { pats: pats, guard: guard, body: blk });
+            arms.push(ast::Arm { pats: pats, guard: guard, body: expr });
         }
         let hi = self.span.hi;
         self.bump();