diff options
| author | bors <bors@rust-lang.org> | 2014-04-24 17:16:14 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-04-24 17:16:14 -0700 |
| commit | 5ea0509685720563f8ede5e5764c603a38c524c8 (patch) | |
| tree | be1a04881018a4ffdda60e9e334155f81fa6b1b1 /src/libsyntax | |
| parent | b55394415ab63adf32036f63595f3bba3e1c9098 (diff) | |
| parent | e72d49a806e26ca901376bcdc395dbf5e8895150 (diff) | |
| download | rust-5ea0509685720563f8ede5e5764c603a38c524c8.tar.gz rust-5ea0509685720563f8ede5e5764c603a38c524c8.zip | |
auto merge of #13671 : dcrewi/rust/lint-directives-on-use-items, r=alexcrichton
Fixes #10534
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast_util.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index adb97af7490..c80c4dc3a22 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -1,4 +1,4 @@ -// Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT +// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // @@ -396,6 +396,13 @@ impl<'a, O: IdVisitingOperation> Visitor<()> for IdVisitor<'a, O> { } fn visit_view_item(&mut self, view_item: &ViewItem, env: ()) { + if !self.pass_through_items { + if self.visited_outermost { + return; + } else { + self.visited_outermost = true; + } + } match view_item.node { ViewItemExternCrate(_, _, node_id) => { self.operation.visit_id(node_id) @@ -417,7 +424,8 @@ impl<'a, O: IdVisitingOperation> Visitor<()> for IdVisitor<'a, O> { } } } - visit::walk_view_item(self, view_item, env) + visit::walk_view_item(self, view_item, env); + self.visited_outermost = false; } fn visit_foreign_item(&mut self, foreign_item: &ForeignItem, env: ()) { |
