diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-01-23 01:42:19 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-01-23 08:05:57 +0000 |
| commit | f05bc16a5d8bb1bfb0ee2b281fb3dc6fdefa258c (patch) | |
| tree | 10070aa21326524cd2fcd2ee707f3f8657ca86eb /src | |
| parent | 54475e950cf3db909c4dec4a30c72f7636ab4e07 (diff) | |
| download | rust-f05bc16a5d8bb1bfb0ee2b281fb3dc6fdefa258c.tar.gz rust-f05bc16a5d8bb1bfb0ee2b281fb3dc6fdefa258c.zip | |
Resolve: stop requiring that use declarations precede statements in blocks
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_resolve/lib.rs | 23 | ||||
| -rw-r--r-- | src/test/compile-fail/blind-item-block-middle.rs | 1 | ||||
| -rw-r--r-- | src/test/run-pass/blind-item-local-shadow.rs (renamed from src/test/compile-fail/blind-item-local-shadow.rs) | 1 |
3 files changed, 0 insertions, 25 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 444c43163e3..1360f6584bd 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -2508,29 +2508,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> { } } - // Check for imports appearing after non-item statements. - let mut found_non_item = false; - for statement in &block.stmts { - if let hir::StmtDecl(ref declaration, _) = statement.node { - if let hir::DeclItem(i) = declaration.node { - let i = self.ast_map.expect_item(i.id); - match i.node { - ItemExternCrate(_) | ItemUse(_) if found_non_item => { - span_err!(self.session, - i.span, - E0154, - "imports are not allowed after non-item statements"); - } - _ => {} - } - } else { - found_non_item = true - } - } else { - found_non_item = true; - } - } - // Descend into the block. intravisit::walk_block(self, block); diff --git a/src/test/compile-fail/blind-item-block-middle.rs b/src/test/compile-fail/blind-item-block-middle.rs index fbb0730f014..24a1e4e24d8 100644 --- a/src/test/compile-fail/blind-item-block-middle.rs +++ b/src/test/compile-fail/blind-item-block-middle.rs @@ -14,5 +14,4 @@ fn main() { let bar = 5; //~^ ERROR declaration of `bar` shadows an enum variant or unit-like struct in scope use foo::bar; - //~^ ERROR imports are not allowed after non-item statements } diff --git a/src/test/compile-fail/blind-item-local-shadow.rs b/src/test/run-pass/blind-item-local-shadow.rs index 5cc087cb66e..bb654b1a20b 100644 --- a/src/test/compile-fail/blind-item-local-shadow.rs +++ b/src/test/run-pass/blind-item-local-shadow.rs @@ -15,6 +15,5 @@ mod bar { fn main() { let foo = || false; use bar::foo; - //~^ ERROR imports are not allowed after non-item statements assert_eq!(foo(), false); } |
