diff options
| author | bors <bors@rust-lang.org> | 2018-05-16 14:22:17 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-05-16 14:22:17 +0000 |
| commit | 0e325d0141ce8d86524f55c2df53835aab895096 (patch) | |
| tree | b99c4a1c01f88267db584a9768b92c6a82370e85 /src/libsyntax/print | |
| parent | 2a3f5367a23a769a068c37460db336de427c4b48 (diff) | |
| parent | ae1553aa027c395a93426dc0fe0abd4ec6af2291 (diff) | |
| download | rust-0e325d0141ce8d86524f55c2df53835aab895096.tar.gz rust-0e325d0141ce8d86524f55c2df53835aab895096.zip | |
Auto merge of #50045 - est31:label_break_value, r=eddyb
Implement label break value (RFC 2046) Implement label-break-value (#48594).
Diffstat (limited to 'src/libsyntax/print')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 8e33fa08083..a700799cde5 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -1792,7 +1792,7 @@ impl<'a> State<'a> { self.print_else(e.as_ref().map(|e| &**e)) } // "final else" - ast::ExprKind::Block(ref b) => { + ast::ExprKind::Block(ref b, _) => { self.cbox(INDENT_UNIT - 1)?; self.ibox(0)?; self.s.word(" else ")?; @@ -2182,7 +2182,11 @@ impl<'a> State<'a> { // empty box to satisfy the close. self.ibox(0)?; } - ast::ExprKind::Block(ref blk) => { + ast::ExprKind::Block(ref blk, opt_label) => { + if let Some(label) = opt_label { + self.print_ident(label.ident)?; + self.word_space(":")?; + } // containing cbox, will be closed by print-block at } self.cbox(INDENT_UNIT)?; // head-box, will be closed by print-block after { @@ -2695,7 +2699,12 @@ impl<'a> State<'a> { self.word_space("=>")?; match arm.body.node { - ast::ExprKind::Block(ref blk) => { + ast::ExprKind::Block(ref blk, opt_label) => { + if let Some(label) = opt_label { + self.print_ident(label.ident)?; + self.word_space(":")?; + } + // the block will close the pattern's ibox self.print_block_unclosed_indent(blk, INDENT_UNIT)?; |
