Skip to content

Commit 7e08d8f

Browse files
committed
Don't warn about 'pub use' statements
1 parent 44acefd commit 7e08d8f

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/librustc/middle/resolve.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5285,10 +5285,13 @@ pub impl Resolver {
52855285
for module_.import_resolutions.each_value |&import_resolution| {
52865286
// Ignore dummy spans for things like automatically injected
52875287
// imports for the prelude, and also don't warn about the same
5288-
// import statement being unused more than once.
5288+
// import statement being unused more than once. Furthermore, if
5289+
// the import is public, then we can't be sure whether it's unused
5290+
// or not so don't warn about it.
52895291
if !import_resolution.state.used &&
52905292
!import_resolution.state.warned &&
5291-
import_resolution.span != dummy_sp() {
5293+
import_resolution.span != dummy_sp() &&
5294+
import_resolution.privacy != Public {
52925295
import_resolution.state.warned = true;
52935296
match self.unused_import_lint_level {
52945297
warn => {

src/test/compile-fail/unused-imports-warn.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ mod foo {
3131
}
3232

3333
mod bar {
34+
// Don't ignore on 'pub use' because we're not sure if it's used or not
35+
pub use core::cmp::Eq;
36+
3437
pub mod c {
3538
use foo::Point;
3639
use foo::Square; //~ ERROR unused import

0 commit comments

Comments
 (0)