diff --git a/src/libcore/vec.rs b/src/libcore/vec.rs index 14dcde2381bf3..65f8dab25a5aa 100644 --- a/src/libcore/vec.rs +++ b/src/libcore/vec.rs @@ -22,7 +22,7 @@ use old_iter; use iterator::Iterator; use kinds::Copy; use libc; -use old_iter::{BaseIter, CopyableIter}; +use old_iter::CopyableIter; use option::{None, Option, Some}; use ptr::to_unsafe_ptr; use ptr; diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index 12ad7251645f8..8fbc148777226 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -1834,6 +1834,10 @@ pub impl Resolver { debug!("(building import directive) bumping \ reference"); resolution.outstanding_references += 1; + + // the source of this name is different now + resolution.privacy = privacy; + resolution.id = id; } None => { debug!("(building import directive) creating new"); diff --git a/src/test/compile-fail/lint-unused-import-tricky-names.rs b/src/test/compile-fail/lint-unused-import-tricky-names.rs new file mode 100644 index 0000000000000..e36b5572909d8 --- /dev/null +++ b/src/test/compile-fail/lint-unused-import-tricky-names.rs @@ -0,0 +1,29 @@ +// 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)]; + +// Regression test for issue #6633 + +use foo::name::name; //~ ERROR: unused import +use foo::name; + +pub mod foo { + pub mod name { + pub type a = int; + pub mod name { + pub type a = float; + } + } +} + +fn bar() -> name::a { 1 } + +fn main(){}