diff options
| author | bors <bors@rust-lang.org> | 2015-12-02 17:54:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-12-02 17:54:30 +0000 |
| commit | d5321f2abe7f6fadf8a3993b113ebb8ce9266fe9 (patch) | |
| tree | ef7fc446d438d6c7b2f60319e1d61bc2a5c9b1c3 | |
| parent | 01bd93d3109227addb49284ceba0935a6acfff3c (diff) | |
| parent | 15b1f56499e6bcc4a95aa8cc5ab4a2953fb45c65 (diff) | |
| download | rust-d5321f2abe7f6fadf8a3993b113ebb8ce9266fe9.tar.gz rust-d5321f2abe7f6fadf8a3993b113ebb8ce9266fe9.zip | |
Auto merge of #30133 - jseyfried:fix_regression, r=alexcrichton
r? @nikomatsakis
| -rw-r--r-- | src/librustc_resolve/lib.rs | 7 | ||||
| -rw-r--r-- | src/librustc_resolve/resolve_imports.rs | 9 | ||||
| -rw-r--r-- | src/test/compile-fail/no-extern-crate-in-glob-import.rs | 22 |
3 files changed, 22 insertions, 16 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index b161d7f3330..361047df3e6 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -1037,13 +1037,6 @@ impl NameBindings { } } - fn create_from_module(module: Rc<Module>) -> NameBindings { - NameBindings { - type_ns: NameBinding::create_from_module(module), - value_ns: NameBinding::new(), - } - } - /// Creates a new module in this set of name bindings. fn define_module(&self, module: Rc<Module>, sp: Span) { self.type_ns.set(NsDef::create_from_module(module, Some(sp))); diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs index 4f67d6e2f7e..460c851e13f 100644 --- a/src/librustc_resolve/resolve_imports.rs +++ b/src/librustc_resolve/resolve_imports.rs @@ -853,15 +853,6 @@ impl<'a, 'b:'a, 'tcx:'b> ImportResolver<'a, 'b, 'tcx> { } - // Add external module children from the containing module. - for (&name, module) in target_module.external_module_children.borrow().iter() { - self.merge_import_resolution(module_, - target_module.clone(), - import_directive, - name, - NameBindings::create_from_module(module.clone())); - } - // Record the destination of this import if let Some(did) = target_module.def_id() { self.resolver.def_map.borrow_mut().insert(id, diff --git a/src/test/compile-fail/no-extern-crate-in-glob-import.rs b/src/test/compile-fail/no-extern-crate-in-glob-import.rs new file mode 100644 index 00000000000..5d3efd85134 --- /dev/null +++ b/src/test/compile-fail/no-extern-crate-in-glob-import.rs @@ -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. + +// Check that extern crate declarations are excluded from glob imports. + +#![feature(core)] +extern crate core; + +mod T { + use super::*; +} + +fn main() { + use T::core; //~ ERROR unresolved import `T::core` +} |
