parent
10f94e3fe5
commit
96710c11de
@ -1313,17 +1313,20 @@ pub fn print_expr(&mut self, expr: &ast::Expr) -> IoResult<()> {
|
||||
try!(self.print_fn_block_args(decl));
|
||||
try!(space(&mut self.s));
|
||||
// }
|
||||
assert!(body.stmts.is_empty());
|
||||
assert!(body.expr.is_some());
|
||||
// we extract the block, so as not to create another set of boxes
|
||||
match body.expr.unwrap().node {
|
||||
ast::ExprBlock(blk) => {
|
||||
try!(self.print_block_unclosed(blk));
|
||||
}
|
||||
_ => {
|
||||
// this is a bare expression
|
||||
try!(self.print_expr(body.expr.unwrap()));
|
||||
try!(self.end()); // need to close a box
|
||||
|
||||
if !body.stmts.is_empty() || !body.expr.is_some() {
|
||||
try!(self.print_block_unclosed(body));
|
||||
} else {
|
||||
// we extract the block, so as not to create another set of boxes
|
||||
match body.expr.unwrap().node {
|
||||
ast::ExprBlock(blk) => {
|
||||
try!(self.print_block_unclosed(blk));
|
||||
}
|
||||
_ => {
|
||||
// this is a bare expression
|
||||
try!(self.print_expr(body.expr.unwrap()));
|
||||
try!(self.end()); // need to close a box
|
||||
}
|
||||
}
|
||||
}
|
||||
// a box will be closed by print_expr, but we didn't want an overall
|
||||
|
4
src/test/run-make/pretty-expanded/Makefile
Normal file
4
src/test/run-make/pretty-expanded/Makefile
Normal file
@ -0,0 +1,4 @@
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
$(RUSTC) -o $(TMPDIR)/input.expanded.rs --pretty=expanded input.rs
|
22
src/test/run-make/pretty-expanded/input.rs
Normal file
22
src/test/run-make/pretty-expanded/input.rs
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[crate_type="lib"]
|
||||
|
||||
// #13544
|
||||
|
||||
extern crate serialize;
|
||||
|
||||
#[deriving(Encodable)] pub struct A;
|
||||
#[deriving(Encodable)] pub struct B(int);
|
||||
#[deriving(Encodable)] pub struct C { x: int }
|
||||
#[deriving(Encodable)] pub enum D {}
|
||||
#[deriving(Encodable)] pub enum E { y }
|
||||
#[deriving(Encodable)] pub enum F { z(int) }
|
Loading…
Reference in New Issue
Block a user