about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2013-11-08 22:25:22 -0500
committerNiko Matsakis <niko@alum.mit.edu>2013-11-08 22:25:22 -0500
commit044dec4cf555e8c8f54d8de2f285201f4cdc2840 (patch)
treebde9e1e6dc073b67abccdf463fd42fc80ff186f4 /src/libsyntax
parent98f79735c3f76c9e1a263a4a37104bda51c5dd5f (diff)
downloadrust-044dec4cf555e8c8f54d8de2f285201f4cdc2840.tar.gz
rust-044dec4cf555e8c8f54d8de2f285201f4cdc2840.zip
Fix pretty printer when there are multiple lifetime parameters
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/print/pprust.rs19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 7b02d036511..ed8eb4b5427 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1572,17 +1572,24 @@ fn print_path_(s: @ps,
             }
             word(s.s, "<");
 
+            let mut comma = false;
             for lifetime in segment.lifetimes.iter() {
-                print_lifetime(s, lifetime);
-                if !segment.types.is_empty() {
+                if comma {
                     word_space(s, ",")
                 }
+                print_lifetime(s, lifetime);
+                comma = true;
             }
 
-            commasep(s,
-                     inconsistent,
-                     segment.types.map_to_vec(|t| (*t).clone()),
-                     print_type);
+            if !segment.types.is_empty() {
+                if comma {
+                    word_space(s, ",")
+                }
+                commasep(s,
+                         inconsistent,
+                         segment.types.map_to_vec(|t| (*t).clone()),
+                         print_type);
+            }
 
             word(s.s, ">")
         }