| //@ aux-build:macro-in-other-crate.rs |
| |
| #![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() {} |