about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libsyntax/ast_util.rs7
-rw-r--r--src/libsyntax/parse/parser.rs21
-rw-r--r--src/libsyntax/print/pprust.rs20
-rw-r--r--src/test/pretty/alt-naked-expr-long.rs17
-rw-r--r--src/test/pretty/alt-naked-expr-medium.rs10
-rw-r--r--src/test/pretty/alt-naked-expr.rs7
6 files changed, 6 insertions, 76 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs
index 6ba1e0bcfb0..37e8671facd 100644
--- a/src/libsyntax/ast_util.rs
+++ b/src/libsyntax/ast_util.rs
@@ -568,13 +568,6 @@ fn view_path_id(p: @view_path) -> node_id {
     }
 }
 
-fn lone_block_expr(blk: blk) -> option<@ast::expr> {
-    if blk.node.view_items.len() != 0 { ret none; }
-    if blk.node.stmts.len() != 0 { ret none; }
-    if blk.node.rules != default_blk { ret none; }
-    ret blk.node.expr;
-}
-
 // Local Variables:
 // mode: rust
 // fill-column: 78;
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index a6bce303ee5..9d2fb947451 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -1509,25 +1509,8 @@ class parser {
             let pats = self.parse_pats();
             let mut guard = none;
             if self.eat_keyword(~"if") { guard = some(self.parse_expr()); }
-            let blk = if self.token != token::FAT_ARROW {
-                self.parse_block()
-            } else {
-                self.bump();
-                if self.token == token::LBRACE {
-                    self.parse_block()
-                } else {
-                    let expr = self.parse_expr();
-                    if self.token != token::RBRACE {
-                        self.expect(token::COMMA);
-                    }
-                    {node: {view_items: ~[],
-                            stmts: ~[],
-                            expr: some(expr),
-                            id: self.get_id(),
-                            rules: default_blk},
-                     span: expr.span}
-                }
-            };
+            if self.token == token::FAT_ARROW { self.bump(); }
+            let blk = self.parse_block();
             vec::push(arms, {pats: pats, guard: guard, body: blk});
         }
         let mut hi = self.span.hi;
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 6b87c055f6f..b1730bfc587 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -6,7 +6,7 @@ import pp::{break_offset, word, printer,
             inconsistent, eof};
 import diagnostic;
 import ast::{required, provided};
-import ast_util::{operator_prec, lone_block_expr};
+import ast_util::operator_prec;
 import dvec::{dvec, extensions};
 import parse::classify::*;
 
@@ -998,8 +998,7 @@ fn print_expr(s: ps, &&expr: @ast::expr) {
         print_maybe_parens_discrim(s, expr);
         space(s.s);
         bopen(s);
-        let len = arms.len();
-        for arms.eachi |i, arm| {
+        for arms.each |arm| {
             space(s.s);
             cbox(s, alt_indent_unit);
             ibox(s, 0u);
@@ -1015,19 +1014,8 @@ fn print_expr(s: ps, &&expr: @ast::expr) {
               some(e) { word_space(s, ~"if"); print_expr(s, e); space(s.s); }
               none { }
             }
-            word_space(s, ~"=>");
-            alt lone_block_expr(arm.body) {
-              some(expr) => {
-                end(s); // close the ibox for the pattern
-                print_expr(s, expr);
-                if i < len - 1 { word_space(s, ~","); }
-                end(s); // close enclosing cbox
-              }
-              none => {
-                print_possibly_embedded_block(s, arm.body, block_normal,
-                                              alt_indent_unit);
-              }
-            }
+            print_possibly_embedded_block(s, arm.body, block_normal,
+                                          alt_indent_unit);
         }
         bclose_(s, expr.span, alt_indent_unit);
       }
diff --git a/src/test/pretty/alt-naked-expr-long.rs b/src/test/pretty/alt-naked-expr-long.rs
deleted file mode 100644
index 8504a50d5a1..00000000000
--- a/src/test/pretty/alt-naked-expr-long.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// pretty-exact
-
-// actually this doesn't quite look how I want it to, but I can't
-// get the prettyprinter to indent the long expr
-
-fn main() {
-    let x = some(3);
-    let y =
-        alt x {
-          some(_) =>
-          "some" + "very" + "very" + "very" + "very" + "very" + "very" +
-              "very" + "very" + "long" + "string",
-
-          none => "none"
-        };
-    assert y == "some(_)";
-}
diff --git a/src/test/pretty/alt-naked-expr-medium.rs b/src/test/pretty/alt-naked-expr-medium.rs
deleted file mode 100644
index 70099e46806..00000000000
--- a/src/test/pretty/alt-naked-expr-medium.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// pretty-exact
-
-fn main() {
-    let x = some(3);
-    let _y =
-        alt x {
-          some(_) => ~[~"some(_)", ~"not", ~"SO", ~"long", ~"string"],
-          none => ~[~"none"]
-        };
-}
diff --git a/src/test/pretty/alt-naked-expr.rs b/src/test/pretty/alt-naked-expr.rs
deleted file mode 100644
index 54ed76054e4..00000000000
--- a/src/test/pretty/alt-naked-expr.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// pretty-exact
-
-fn main() {
-    let x = some(3);
-    let y = alt x { some(_) => "some(_)",  none => "none" };
-    assert y == "some(_)";
-}