summary refs log tree commit diff
path: root/src/libsyntax/print/pprust.rs
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2013-09-08 22:08:01 +1000
committerHuon Wilson <dbau.pp+github@gmail.com>2013-09-08 22:08:01 +1000
commit07351b44c657225d45e2aa0a302ccd28f96839a8 (patch)
treee61809a471532d32ed51f9d72ea0536b9fef471c /src/libsyntax/print/pprust.rs
parentb609d022c4df307e4d68499b063c81a9ecb1e9cf (diff)
downloadrust-07351b44c657225d45e2aa0a302ccd28f96839a8.tar.gz
rust-07351b44c657225d45e2aa0a302ccd28f96839a8.zip
syntax: implement labelled breaks for `for`.
`for` desugars to `loop` so it is trivial to just desugar to `loop` while
retaining any label.
Diffstat (limited to 'src/libsyntax/print/pprust.rs')
-rw-r--r--src/libsyntax/print/pprust.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index f440e0a1771..282b66b2c59 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1232,7 +1232,12 @@ pub fn print_expr(s: @ps, expr: &ast::Expr) {
         space(s.s);
         print_block(s, blk);
       }
-      ast::ExprForLoop(pat, iter, ref blk) => {
+      ast::ExprForLoop(pat, iter, ref blk, opt_ident) => {
+        for ident in opt_ident.iter() {
+            word(s.s, "'");
+            print_ident(s, *ident);
+            word_space(s, ":");
+        }
         head(s, "for");
         print_pat(s, pat);
         space(s.s);