about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/parse/parser.rs4
-rw-r--r--src/libsyntax/print/pprust.rs7
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 61105f6297d..e1fc23276bc 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2531,6 +2531,10 @@ impl Parser {
                 } else {
                     break;
                 }
+
+                if self.eat(token::BINOP(token::PLUS)) {
+                    // Should be `break;` but that isn't backwards compatible.
+                }
             }
         }
         return @move bounds;
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 31ad0bd6ca8..a0d3a81f867 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1791,8 +1791,15 @@ fn print_arg_mode(s: ps, m: ast::mode) {
 fn print_bounds(s: ps, bounds: @~[ast::ty_param_bound]) {
     if bounds.is_not_empty() {
         word(s.s, ~":");
+        let mut first = true;
         for vec::each(*bounds) |&bound| {
             nbsp(s);
+            if first {
+                first = false;
+            } else {
+                word_space(s, ~"+");
+            }
+
             match bound {
                 TraitTyParamBound(ty) => print_type(s, ty),
                 RegionTyParamBound => word(s.s, ~"&static"),