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