error[E0255]: the name `A` is defined multiple times --> $DIR/issue-19498.rs:3:1 | LL | use self::A; | ------- previous import of the module `A` here LL | use self::B; LL | mod A {} //~ ERROR the name `A` is defined multiple times | ^^^^^ `A` redefined here | = note: `A` must be defined only once in the type namespace of this module help: you can use `as` to change the binding name of the import | LL | use self::A as OtherA; | ^^^^^^^^^^^^^^^^^ error[E0255]: the name `B` is defined multiple times --> $DIR/issue-19498.rs:5:1 | LL | use self::B; | ------- previous import of the module `B` here ... LL | pub mod B {} //~ ERROR the name `B` is defined multiple times | ^^^^^^^^^ `B` redefined here | = note: `B` must be defined only once in the type namespace of this module help: you can use `as` to change the binding name of the import | LL | use self::B as OtherB; | ^^^^^^^^^^^^^^^^^ error[E0255]: the name `D` is defined multiple times --> $DIR/issue-19498.rs:9:5 | LL | use C::D; | ---- previous import of the module `D` here LL | mod D {} //~ ERROR the name `D` is defined multiple times | ^^^^^ `D` redefined here | = note: `D` must be defined only once in the type namespace of this module help: you can use `as` to change the binding name of the import | LL | use C::D as OtherD; | ^^^^^^^^^^^^^^ error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0255`.