Tweak rules around attributes for modules

This commit is contained in:
Nick Cameron 2015-04-28 22:19:25 +12:00
parent 81b8eb7993
commit 40be79304e
2 changed files with 12 additions and 3 deletions

View file

@ -265,7 +265,7 @@ fn run(args: Vec<String>, write_mode: WriteMode) {
fn main() {
let args: Vec<_> = std::env::args().collect();
//run(args, WriteMode::Display);
run(args, WriteMode::NewFile("new"));
run(args, WriteMode::Overwrite);
std::env::set_exit_status(0);
// TODO unit tests

View file

@ -109,8 +109,17 @@ impl<'a, 'v> visit::Visitor<'v> for FmtVisitor<'a> {
}
fn visit_item(&mut self, item: &'v ast::Item) {
if self.visit_attrs(&item.attrs) {
return;
// Don't look at attributes for modules.
// We want to avoid looking at attributes in another file, which the AST
// doesn't distinguish. FIXME This is overly conservative and means we miss
// attributes on inline modules.
match item.node {
ast::Item_::ItemMod(_) => {}
_ => {
if self.visit_attrs(&item.attrs) {
return;
}
}
}
match item.node {