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.rs16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 3744b7a8f6c..c81c1c8bd0e 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1609,13 +1609,19 @@ pub fn print_pat(s: @ps, &&pat: @ast::pat, refutable: bool) {
         word(s.s, ~"..");
         print_expr(s, end);
       }
-      ast::pat_vec(elts, tail) => {
+      ast::pat_vec(before, slice, after) => {
         word(s.s, ~"[");
-        commasep(s, inconsistent, elts, |s, p| print_pat(s, p, refutable));
-        for tail.each |tail| {
-            if vec::len(elts) != 0u { word_space(s, ~","); }
+        do commasep(s, inconsistent, before) |s, p| {
+            print_pat(s, p, refutable);
+        }
+        for slice.each |&p| {
+            if !before.is_empty() { word_space(s, ~","); }
             word(s.s, ~"..");
-            print_pat(s, *tail, refutable);
+            print_pat(s, p, refutable);
+            if !after.is_empty() { word_space(s, ~","); }
+        }
+        do commasep(s, inconsistent, after) |s, p| {
+            print_pat(s, p, refutable);
         }
         word(s.s, ~"]");
       }