about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorGarming Sam <garming_sam@outlook.com>2015-08-10 04:45:57 +1200
committerGarming Sam <garming_sam@outlook.com>2015-08-10 04:52:43 +1200
commit22baa46f784856b6d6bb4374bcc3fb4b66bb8097 (patch)
tree0c63b865a41ab08240776e7c296e9bf4cf7a0d87 /src/libsyntax
parent6a51de0a0a846524dc76b027f52f0afec1597383 (diff)
downloadrust-22baa46f784856b6d6bb4374bcc3fb4b66bb8097.tar.gz
rust-22baa46f784856b6d6bb4374bcc3fb4b66bb8097.zip
Avoid adding extra paren with two casts
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/print/pprust.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index d59ab2ba565..7919bd45ced 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1753,7 +1753,11 @@ impl<'a> State<'a> {
                 try!(self.print_literal(&**lit));
             }
             ast::ExprCast(ref expr, ref ty) => {
-                try!(self.print_expr_maybe_paren(&**expr));
+                if let ast::ExprCast(..) = expr.node {
+                    try!(self.print_expr(&**expr));
+                } else {
+                    try!(self.print_expr_maybe_paren(&**expr));
+                }
                 try!(space(&mut self.s));
                 try!(self.word_space("as"));
                 try!(self.print_type(&**ty));