diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index 2989f1047298c..c5be424e2846c 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -2585,11 +2585,13 @@ impl Resolver { debug!("(resolving glob import) ... for value target"); dest_import_resolution.value_target = Some(Target(containing_module, name_bindings)); + dest_import_resolution.value_id = id; } if name_bindings.defined_in_public_namespace(TypeNS) { debug!("(resolving glob import) ... for type target"); dest_import_resolution.type_target = Some(Target(containing_module, name_bindings)); + dest_import_resolution.type_id = id; } }; diff --git a/src/test/compile-fail/lint-unused-import-tricky-globs.rs b/src/test/compile-fail/lint-unused-import-tricky-globs.rs new file mode 100644 index 0000000000000..918b11b3253f9 --- /dev/null +++ b/src/test/compile-fail/lint-unused-import-tricky-globs.rs @@ -0,0 +1,84 @@ +// Copyright 2013 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. + +#[deny(unused_imports)]; + +mod A { + pub fn p() {} +} +mod B { + pub fn p() {} +} + +mod C { + pub fn q() {} +} +mod D { + pub fn q() {} +} + +mod E { + pub fn r() {} +} +mod F { + pub fn r() {} +} + +mod G { + pub fn s() {} + pub fn t() {} +} +mod H { + pub fn s() {} +} + +mod I { + pub fn u() {} + pub fn v() {} +} +mod J { + pub fn u() {} + pub fn v() {} +} + +mod K { + pub fn w() {} +} +mod L { + pub fn w() {} +} + +mod m { + use A::p; //~ ERROR: unused import + use B::p; + use C::q; //~ ERROR: unused import + use D::*; + use E::*; //~ ERROR: unused import + use F::r; + use G::*; + use H::*; + use I::*; + use J::v; + use K::*; //~ ERROR: unused import + use L::*; + + #[main] + fn my_main() { + p(); + q(); + r(); + s(); + t(); + u(); + v(); + w(); + } +} +