From 7173b9d1b8475bf2b44e50b78501f45f98c76bc0 Mon Sep 17 00:00:00 2001
From: Jakub <jakub@jakub.cc>
Date: Sun, 8 Sep 2013 22:43:58 +0000
Subject: [PATCH] Fix pretty-printing of empty impl items

---
 src/libsyntax/print/pprust.rs | 4 +++-
 src/test/pretty/empty-impl.pp | 5 +++++
 src/test/pretty/empty-impl.rs | 5 +++++
 3 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 src/test/pretty/empty-impl.pp
 create mode 100644 src/test/pretty/empty-impl.rs

diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index f440e0a1771..87920d93828 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -586,11 +586,13 @@ pub fn print_item(s: @ps, item: &ast::item) {
         };
 
         print_type(s, ty);
-        space(s.s);
 
         if methods.len() == 0 {
             word(s.s, ";");
+            end(s); // end the head-ibox
+            end(s); // end the outer cbox
         } else {
+            space(s.s);
             bopen(s);
             for meth in methods.iter() {
                print_method(s, *meth);
diff --git a/src/test/pretty/empty-impl.pp b/src/test/pretty/empty-impl.pp
new file mode 100644
index 00000000000..682a366b262
--- /dev/null
+++ b/src/test/pretty/empty-impl.pp
@@ -0,0 +1,5 @@
+trait X { }
+impl X for T;
+
+trait Y { }
+impl Y for T;
diff --git a/src/test/pretty/empty-impl.rs b/src/test/pretty/empty-impl.rs
new file mode 100644
index 00000000000..682a366b262
--- /dev/null
+++ b/src/test/pretty/empty-impl.rs
@@ -0,0 +1,5 @@
+trait X { }
+impl X for T;
+
+trait Y { }
+impl Y for T;