| // 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() {} |