rust/src/test/ui/macros/macro-path-prelude-shadowing.rs
2018-12-25 21:08:33 -07:00

34 lines
728 B
Rust

// aux-build:macro-in-other-crate.rs
#![feature(decl_macro, extern_prelude)]
macro_rules! add_macro_expanded_things_to_macro_prelude {() => {
#[macro_use]
extern crate macro_in_other_crate;
}}
add_macro_expanded_things_to_macro_prelude!();
mod m1 {
fn check() {
inline!(); // OK. Theoretically ambiguous, but we do not consider built-in attributes
// as candidates for non-attribute macro invocations to avoid regressions
// on stable channel
}
}
mod m2 {
pub mod std {
pub macro panic() {}
}
}
mod m3 {
use m2::*; // glob-import user-defined `std`
fn check() {
std::panic!(); //~ ERROR `std` is ambiguous
}
}
fn main() {}