about summary refs log tree commit diff
path: root/src/libsyntax/print
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-08-07 18:54:44 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-08-07 18:55:19 -0700
commit5ce3281a624c0620f1b6f4e21c15e4a6a17a1dc5 (patch)
tree148f8334840c3005d551c1d0b5d83be953422945 /src/libsyntax/print
parent8c95feda3961efaffe4461d775b029f92a1744c4 (diff)
downloadrust-5ce3281a624c0620f1b6f4e21c15e4a6a17a1dc5.tar.gz
rust-5ce3281a624c0620f1b6f4e21c15e4a6a17a1dc5.zip
rustc: Parse variant structs; add a trivial test case
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) => {