diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index d59ab2ba565c..7919bd45ced5 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));