Skip to content

Commit b0ab164

Browse files
committed
Add trailing , for 1-tuples
1 parent 0bcbd16 commit b0ab164

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

src/libcore/fmt/builders.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,12 @@ impl<'a, 'b: 'a> DebugTuple<'a, 'b> {
175175
fn is_pretty(&self) -> bool {
176176
self.fmt.flags() & (1 << (FlagV1::Alternate as usize)) != 0
177177
}
178+
179+
/// Returns the wrapped `Formatter`.
180+
#[unstable(feature = "debug_builder_formatter", reason = "recently added")]
181+
pub fn formatter(&mut self) -> &mut fmt::Formatter<'b> {
182+
&mut self.fmt
183+
}
178184
}
179185

180186
struct DebugInner<'a, 'b: 'a> {

src/libcore/fmt/mod.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1490,7 +1490,16 @@ macro_rules! tuple {
14901490
fn fmt(&self, f: &mut Formatter) -> Result {
14911491
let mut builder = f.debug_tuple("");
14921492
let ($(ref $name,)*) = *self;
1493-
$(builder.field($name);)*
1493+
let mut n = 0;
1494+
$(
1495+
builder.field($name);
1496+
n += 1;
1497+
)*
1498+
1499+
if n == 1 {
1500+
try!(write!(builder.formatter(), ","));
1501+
}
1502+
14941503
builder.finish()
14951504
}
14961505
}

src/libcoretest/tuple.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fn test_tuple_cmp() {
6060
#[test]
6161
fn test_show() {
6262
let s = format!("{:?}", (1,));
63-
assert_eq!(s, "(1)");
63+
assert_eq!(s, "(1,)");
6464
let s = format!("{:?}", (1, true));
6565
assert_eq!(s, "(1, true)");
6666
let s = format!("{:?}", (1, "hi", true));

0 commit comments

Comments
 (0)