rust/tests/ui/macros/macro-path-prelude-shadowing.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
713 B
Rust
Raw Normal View History

//@ aux-build:macro-in-other-crate.rs
2022-01-19 15:24:49 +00:00
#![feature(decl_macro)]
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() {}