Skip to content

Commit 3506685

Browse files
committed
Merge pull request #3194 from dbp/pretty
Pretty printing brackets on match arms
2 parents 8e1f1e3 + 62a9e16 commit 3506685

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/libsyntax/print/pprust.rs

+15-2
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,11 @@ fn print_block_unclosed(s: ps, blk: ast::blk) {
838838
false);
839839
}
840840
841+
fn print_block_unclosed_indent(s: ps, blk: ast::blk, indented: uint) {
842+
print_possibly_embedded_block_(s, blk, block_normal, indented, ~[],
843+
false);
844+
}
845+
841846
fn print_block_with_attrs(s: ps, blk: ast::blk, attrs: ~[ast::attribute]) {
842847
print_possibly_embedded_block_(s, blk, block_normal, indent_unit, attrs,
843848
true);
@@ -1178,8 +1183,16 @@ fn print_expr(s: ps, &&expr: @ast::expr) {
11781183
assert arm.body.node.rules == ast::default_blk;
11791184
match arm.body.node.expr {
11801185
some(expr) => {
1181-
end(s); // close the ibox for the pattern
1182-
print_expr(s, expr);
1186+
match expr.node {
1187+
ast::expr_block(blk) => {
1188+
// the block will close the pattern's ibox
1189+
print_block_unclosed_indent(s, blk, alt_indent_unit);
1190+
}
1191+
_ => {
1192+
end(s); // close the ibox for the pattern
1193+
print_expr(s, expr);
1194+
}
1195+
}
11831196
if !expr_is_simple_block(expr)
11841197
&& i < len - 1 {
11851198
word(s.s, ~",");

0 commit comments

Comments
 (0)