diff options
| author | Adolfo OchagavĂa <aochagavia92@gmail.com> | 2014-11-22 16:24:58 +0100 |
|---|---|---|
| committer | Adolfo OchagavĂa <aochagavia92@gmail.com> | 2014-11-22 17:30:45 +0100 |
| commit | 9f15ccb4480794491bcddbd642c78436d2471d72 (patch) | |
| tree | 10da37c9a040773751904992d9a6c867cdec7237 /src/libsyntax | |
| parent | acfdb14044bc5a8320536d19c381fb9c04420e3b (diff) | |
| download | rust-9f15ccb4480794491bcddbd642c78436d2471d72.tar.gz rust-9f15ccb4480794491bcddbd642c78436d2471d72.zip | |
Fix pretty printing unsafe match arms
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 4ce0d74bd37..10de040c048 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -11,31 +11,25 @@ pub use self::AnnNode::*; use abi; -use ast::{FnUnboxedClosureKind, FnMutUnboxedClosureKind}; +use ast::{mod, FnUnboxedClosureKind, FnMutUnboxedClosureKind}; use ast::{FnOnceUnboxedClosureKind}; use ast::{MethodImplItem, RegionTyParamBound, TraitTyParamBound}; use ast::{RequiredMethod, ProvidedMethod, TypeImplItem, TypeTraitItem}; use ast::{UnboxedClosureKind}; -use ast; use ast_util; use owned_slice::OwnedSlice; use attr::{AttrMetaMethods, AttributeMethods}; -use codemap::{CodeMap, BytePos}; -use codemap; +use codemap::{mod, CodeMap, BytePos}; use diagnostic; -use parse::token::{BinOpToken, Token}; -use parse::token; +use parse::token::{mod, BinOpToken, Token}; use parse::lexer::comments; use parse; -use print::pp::{break_offset, word, space, zerobreak, hardbreak}; +use print::pp::{mod, break_offset, word, space, zerobreak, hardbreak}; use print::pp::{Breaks, Consistent, Inconsistent, eof}; -use print::pp; use ptr::P; -use std::ascii; -use std::io::IoResult; -use std::io; -use std::mem; +use std::{ascii, mem}; +use std::io::{mod, IoResult}; pub enum AnnNode<'a> { NodeIdent(&'a ast::Ident), @@ -2164,21 +2158,22 @@ impl<'a> State<'a> { try!(self.print_pat(&**p)); } try!(space(&mut self.s)); - match arm.guard { - Some(ref e) => { - try!(self.word_space("if")); - try!(self.print_expr(&**e)); - try!(space(&mut self.s)); - } - None => () + if let Some(ref e) = arm.guard { + try!(self.word_space("if")); + try!(self.print_expr(&**e)); + try!(space(&mut self.s)); } try!(self.word_space("=>")); match arm.body.node { ast::ExprBlock(ref blk) => { // the block will close the pattern's ibox - try!(self.print_block_unclosed_indent(&**blk, - indent_unit)); + try!(self.print_block_unclosed_indent(&**blk, indent_unit)); + + // If it is a user-provided unsafe block, print a comma after it + if let ast::UnsafeBlock(ast::UserProvided) = blk.rules { + try!(word(&mut self.s, ",")); + } } _ => { try!(self.end()); // close the ibox for the pattern |
