about summary refs log tree commit diff
path: root/src/libsyntax/print
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax/print')
-rw-r--r--src/libsyntax/print/pprust.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index d9c85b8c72b..4b23fbf74a9 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -694,9 +694,9 @@ fn print_tt(s: ps, tt: ast::token_tree) {
 }
 
 fn print_variant(s: ps, v: ast::variant) {
-    word(s.s, *v.node.name);
     match v.node.kind {
         ast::tuple_variant_kind(args) => {
+            word(s.s, *v.node.name);
             if vec::len(args) > 0u {
                 popen(s);
                 fn print_variant_arg(s: ps, arg: ast::variant_arg) {
@@ -706,7 +706,10 @@ fn print_variant(s: ps, v: ast::variant) {
                 pclose(s);
             }
         }
-        ast::struct_variant_kind => {}
+        ast::struct_variant_kind(struct_def) => {
+            head(s, ~"");
+            print_struct(s, struct_def, ~[], v.node.name, v.span);
+        }
     }
     match v.node.disr_expr {
       some(d) => {