File tree Expand file tree Collapse file tree 3 files changed +76
-32
lines changed Expand file tree Collapse file tree 3 files changed +76
-32
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ #![ allow( unused_imports, dead_code) ]
2+
3+ mod test1 {
4+ mod foo {
5+ pub struct P ;
6+ }
7+
8+ mod bar {
9+ pub struct P ;
10+ }
11+
12+ pub mod baz {
13+ use test1:: foo:: * ;
14+ use test1:: bar:: * ;
15+
16+ pub fn f ( ) {
17+ let _ = P ; //~ ERROR `P` is ambiguous
18+ }
19+ }
20+ }
21+
22+ mod test2 {
23+ mod foo {
24+ pub struct P ;
25+ }
26+
27+ mod bar {
28+ pub struct P ;
29+ }
30+
31+ pub mod baz {
32+ use test2:: foo:: P ;
33+ use test2:: bar:: P ; //~ ERROR the name `P` is defined multiple times
34+ }
35+ }
36+
37+ fn main ( ) {
38+ }
Original file line number Diff line number Diff line change 1+ error[E0252]: the name `P` is defined multiple times
2+ --> $DIR/issue-7663.rs:33:13
3+ |
4+ LL | use test2::foo::P;
5+ | ------------- previous import of the type `P` here
6+ LL | use test2::bar::P;
7+ | ^^^^^^^^^^^^^ `P` reimported here
8+ |
9+ = note: `P` must be defined only once in the type namespace of this module
10+ help: you can use `as` to change the binding name of the import
11+ |
12+ LL | use test2::bar::P as OtherP;
13+ | +++++++++
14+
15+ error[E0659]: `P` is ambiguous
16+ --> $DIR/issue-7663.rs:17:21
17+ |
18+ LL | let _ = P;
19+ | ^ ambiguous name
20+ |
21+ = note: ambiguous because of multiple glob imports of a name in the same module
22+ note: `P` could refer to the unit struct imported here
23+ --> $DIR/issue-7663.rs:13:13
24+ |
25+ LL | use test1::foo::*;
26+ | ^^^^^^^^^^^^^
27+ = help: consider adding an explicit import of `P` to disambiguate
28+ note: `P` could also refer to the unit struct imported here
29+ --> $DIR/issue-7663.rs:14:13
30+ |
31+ LL | use test1::bar::*;
32+ | ^^^^^^^^^^^^^
33+ = help: consider adding an explicit import of `P` to disambiguate
34+
35+ error: aborting due to 2 previous errors
36+
37+ Some errors have detailed explanations: E0252, E0659.
38+ For more information about an error, try `rustc --explain E0252`.
You can’t perform that action at this time.
0 commit comments