error: unused import: `std::fmt::{}`
  --> $DIR/lint-unused-imports.rs:8:5
   |
LL | use std::fmt::{};
   |     ^^^^^^^^^^^^
   |
note: the lint level is defined here
  --> $DIR/lint-unused-imports.rs:1:9
   |
LL | #![deny(unused_imports)]
   |         ^^^^^^^^^^^^^^

error: unused imports: `None`, `Some`
  --> $DIR/lint-unused-imports.rs:12:27
   |
LL | use std::option::Option::{Some, None};
   |                           ^^^^  ^^^^

error: unused import: `test::A`
  --> $DIR/lint-unused-imports.rs:15:5
   |
LL | use test::A;
   |     ^^^^^^^

error: unused import: `bar`
  --> $DIR/lint-unused-imports.rs:24:18
   |
LL | use test2::{foo, bar};
   |                  ^^^

error: unused import: `foo::Square`
  --> $DIR/lint-unused-imports.rs:52:13
   |
LL |         use foo::Square;
   |             ^^^^^^^^^^^

error: the item `g` is imported redundantly
  --> $DIR/lint-unused-imports.rs:68:9
   |
LL | / fn g() {
LL | |     use self::g;
   | |         ^^^^^^^
LL | |
LL | |     fn f() {
LL | |         self::g();
LL | |     }
LL | | }
   | |_- the item `g` is already defined here

error: unused import: `self::g`
  --> $DIR/lint-unused-imports.rs:68:9
   |
LL |     use self::g;
   |         ^^^^^^^

error: the item `foo` is imported redundantly
  --> $DIR/lint-unused-imports.rs:78:9
   |
LL | use test2::{foo, bar};
   |             --- the item `foo` is already imported here
...
LL |     use test2::foo;
   |         ^^^^^^^^^^

error: unused import: `test2::foo`
  --> $DIR/lint-unused-imports.rs:78:9
   |
LL |     use test2::foo;
   |         ^^^^^^^^^^

error: unused import: `test::B2`
  --> $DIR/lint-unused-imports.rs:20:5
   |
LL | use test::B2;
   |     ^^^^^^^^

error: aborting due to 10 previous errors

