2023-10-20 23:04:41 -05:00
|
|
|
// 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
|
|
|
|
|
2024-02-16 14:02:50 -06:00
|
|
|
//@ aux-crate:library=library.rs
|
|
|
|
//@ edition: 2021
|
2023-10-20 23:04:41 -05:00
|
|
|
|
|
|
|
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() {}
|