about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/fmt/mod.rs16
-rw-r--r--src/libcoretest/tuple.rs2
2 files changed, 4 insertions, 14 deletions
diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs
index 47030bf0fb3..2a25db101c7 100644
--- a/src/libcore/fmt/mod.rs
+++ b/src/libcore/fmt/mod.rs
@@ -1488,20 +1488,10 @@ macro_rules! tuple {
         impl<$($name:Debug),*> Debug for ($($name,)*) {
             #[allow(non_snake_case, unused_assignments)]
             fn fmt(&self, f: &mut Formatter) -> Result {
-                try!(write!(f, "("));
+                let mut builder = f.debug_tuple("");
                 let ($(ref $name,)*) = *self;
-                let mut n = 0;
-                $(
-                    if n > 0 {
-                        try!(write!(f, ", "));
-                    }
-                    try!(write!(f, "{:?}", *$name));
-                    n += 1;
-                )*
-                if n == 1 {
-                    try!(write!(f, ","));
-                }
-                write!(f, ")")
+                $(builder.field($name);)*
+                builder.finish()
             }
         }
         peel! { $($name,)* }
diff --git a/src/libcoretest/tuple.rs b/src/libcoretest/tuple.rs
index 4fe5e0a740b..a9624b03707 100644
--- a/src/libcoretest/tuple.rs
+++ b/src/libcoretest/tuple.rs
@@ -60,7 +60,7 @@ fn test_tuple_cmp() {
 #[test]
 fn test_show() {
     let s = format!("{:?}", (1,));
-    assert_eq!(s, "(1,)");
+    assert_eq!(s, "(1)");
     let s = format!("{:?}", (1, true));
     assert_eq!(s, "(1, true)");
     let s = format!("{:?}", (1, "hi", true));