30 lines
760 B
Rust
30 lines
760 B
Rust
// Make sure that attribute used when injecting the prelude are resolved
|
|
// hygienically.
|
|
|
|
// check-pass
|
|
// aux-build:not-libstd.rs
|
|
|
|
//revisions: rust2015 rust2018
|
|
//[rust2018] edition:2018
|
|
|
|
// The prelude import shouldn't see these as candidates for when it's trying to
|
|
// use the built-in macros.
|
|
extern crate core;
|
|
use core::prelude::v1::test as prelude_import;
|
|
use core::prelude::v1::test as macro_use;
|
|
|
|
// Should not be used for the prelude import - not a concern in the 2015 edition
|
|
// because `std` is already declared in the crate root.
|
|
#[cfg(rust2018)]
|
|
extern crate not_libstd as std;
|
|
|
|
#[cfg(rust2018)]
|
|
mod x {
|
|
// The extern crate item should override `std` in the extern prelude.
|
|
fn f() {
|
|
std::not_in_lib_std();
|
|
}
|
|
}
|
|
|
|
fn main() {}
|