| // Test that we don't prepend `::` to paths referencing crates from the extern prelude | |
| // when it can be avoided[^1] since it's more idiomatic to do so. | |
| // | |
| // [^1]: Counterexample: `unresolved-import-suggest-disambiguated-crate-name.rs` | |
| #![feature(decl_macro)] // allows us to create items with hygienic names | |
| //@ aux-crate:library=library.rs | |
| //@ edition: 2021 | |
| mod hygiene { | |
| make!(); | |
| macro make() { | |
| // This won't conflict with the suggested *non-global* path as the syntax context differs. | |
| mod library {} | |
| } | |
| mod module {} | |
| use module::SomeUsefulType; //~ ERROR unresolved import `module::SomeUsefulType` | |
| } | |
| mod glob { | |
| use inner::*; | |
| mod inner { | |
| mod library {} | |
| } | |
| mod module {} | |
| use module::SomeUsefulType; //~ ERROR unresolved import `module::SomeUsefulType` | |
| } | |
| fn main() {} |