diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index b161d7f33307e..361047df3e65b 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) -> 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, 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 4f67d6e2f7e79..460c851e13f2e 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 0000000000000..5d3efd85134ad --- /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 or the MIT license +// , 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` +}