1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#![feature(decl_macro)]
#![allow(ambiguous_glob_reexports)]
macro_rules! define_exported { () => {
#[macro_export]
macro_rules! exported {
() => ()
}
}}
macro_rules! define_panic { () => {
#[macro_export]
macro_rules! panic {
() => ()
}
}}
macro_rules! define_include { () => {
#[macro_export]
macro_rules! include {
() => ()
}
}}
use inner1::*;
mod inner1 {
pub macro exported() {}
}
exported!(); //~ ERROR `exported` is ambiguous
mod inner2 {
define_exported!();
}
fn main() {
panic!(); //~ ERROR `panic` is ambiguous
}
mod inner3 {
define_panic!();
}
mod inner4 {
define_include!();
}
include!(); //~ ERROR `include` is ambiguous
|