diff --git a/src/expr.rs b/src/expr.rs index ccc5017ea60..70695f30c4f 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -198,6 +198,10 @@ impl<'a> FmtVisitor<'a> { -> String { // opening paren let indent = offset + 1; + // In case of length 1, need a trailing comma + if items.len() == 1 { + return format!("({},)", self.rewrite_expr(&*items[0], width - 3, indent)); + } // Only last line has width-1 as budget, other may take max_width let item_strs: Vec<_> = items.iter() diff --git a/tests/idem/tuple.rs b/tests/idem/tuple.rs index ab2d9e6272c..3655cab0663 100644 --- a/tests/idem/tuple.rs +++ b/tests/idem/tuple.rs @@ -7,4 +7,5 @@ fn foo() { aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaa, aaaa); + let a = (a,); }