2018-07-22 18:52:51 -05:00
|
|
|
// aux-build:macro-in-other-crate.rs
|
|
|
|
|
2022-01-19 09:24:49 -06:00
|
|
|
#![feature(decl_macro)]
|
2018-07-22 18:52:51 -05:00
|
|
|
|
|
|
|
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() {
|
2018-08-11 08:58:28 -05:00
|
|
|
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
|
2018-07-22 18:52:51 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
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() {}
|