From ce1877dc8ed18847024c2b199263554686f3d150 Mon Sep 17 00:00:00 2001 From: Jesse Ruderman Date: Thu, 15 Sep 2011 21:24:24 -0700 Subject: [PATCH] Add parens, as needed, around else-if conditions. --- src/comp/syntax/print/pprust.rs | 2 +- src/test/run-pass/wierd-exprs.rs | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index d6af92cca0db..487e262415ed 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -625,7 +625,7 @@ fn print_if(s: ps, test: @ast::expr, blk: ast::blk, cbox(s, indent_unit - 1u); ibox(s, 0u); word(s.s, " else if "); - print_expr(s, i); + print_maybe_parens_discrim(s, i); space(s.s); print_block(s, t); do_else(s, e); diff --git a/src/test/run-pass/wierd-exprs.rs b/src/test/run-pass/wierd-exprs.rs index a24e34d6b6a5..eef968adcb7c 100644 --- a/src/test/run-pass/wierd-exprs.rs +++ b/src/test/run-pass/wierd-exprs.rs @@ -21,8 +21,15 @@ fn what() { } fn zombiejesus() { - do { while (ret) { if (ret) { alt (ret) { _ { ret ? ret : ret } } } } } - while ret + do { + while (ret) { + if (ret) { + alt (ret) { _ { ret ? ret : ret } }; + } else if (ret) { + ret; + } + } + } while ret } fn notsure() {