error: expected identifier, found keyword `self` --> $DIR/import-self.rs:9:12 | LL | use foo as self; | ^^^^ expected identifier, found keyword error[E0429]: `self` imports are only allowed within a { } list --> $DIR/import-self.rs:12:8 | LL | use foo::self; | ^^^^^^ | help: Remove `::self`.. | LL | use foo; | -- help: ..or add braces around `self` | LL | use foo::{self}; | ^ ^ error[E0255]: the name `foo` is defined multiple times --> $DIR/import-self.rs:6:11 | LL | mod foo { | ------- previous definition of the module `foo` here ... LL | use foo::{self}; | ^^^^ `foo` reimported here | = note: `foo` 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 foo::{self as other_foo}; | ^^^^^^^^^^^^^^^^^ error[E0255]: the name `foo` is defined multiple times --> $DIR/import-self.rs:12:5 | LL | mod foo { | ------- previous definition of the module `foo` here ... LL | use foo::self; | ^^^^^^^^^ `foo` reimported here | = note: `foo` 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 foo as other_foo; | ^^^^^^^^^^^^^^^^ error[E0252]: the name `A` is defined multiple times --> $DIR/import-self.rs:16:11 | LL | use foo::A; | ------ previous import of the type `A` here LL | use foo::{self as A}; | ^^^^^^^^^ `A` reimported 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 foo::{self as OtherA}; | ^^^^^^^^^^^^^^ error: aborting due to 5 previous errors Some errors have detailed explanations: E0252, E0255, E0429. For more information about an error, try `rustc --explain E0252`.