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