@@ -125,6 +125,15 @@ impl<'a> FmtVisitor<'a> {
125
125
format ! ( "{}({})" , callee_str, args_str)
126
126
}
127
127
128
+ fn rewrite_paren ( & mut self , subexpr : & ast:: Expr , width : usize , offset : usize ) -> String {
129
+ debug ! ( "rewrite_paren, width: {}, offset: {}" , width, offset) ;
130
+ // 1 is for opening paren, 2 is for opening+closing, we want to keep the closing
131
+ // paren on the same line as the subexpr
132
+ let subexpr_str = self . rewrite_expr ( subexpr, width-2 , offset+1 ) ;
133
+ debug ! ( "rewrite_paren, subexpr_str: `{}`" , subexpr_str) ;
134
+ format ! ( "({})" , subexpr_str)
135
+ }
136
+
128
137
pub fn rewrite_expr ( & mut self , expr : & ast:: Expr , width : usize , offset : usize ) -> String {
129
138
match expr. node {
130
139
ast:: Expr_ :: ExprLit ( ref l) => {
@@ -140,6 +149,9 @@ impl<'a> FmtVisitor<'a> {
140
149
ast:: Expr_ :: ExprCall ( ref callee, ref args) => {
141
150
return self . rewrite_call ( callee, args, width, offset) ;
142
151
}
152
+ ast:: Expr_ :: ExprParen ( ref subexpr) => {
153
+ return self . rewrite_paren ( subexpr, width, offset) ;
154
+ }
143
155
_ => { }
144
156
}
145
157
0 commit comments