32 lines
838 B
Rust
32 lines
838 B
Rust
|
// 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() {}
|