1 // build-pass (FIXME(62277): could be check-pass?) 2 3 #[macro_export(local_inner_macros)] 4 macro_rules! dollar_crate_exported { 5 (1) => { $crate::exported!(); }; 6 (2) => { exported!(); }; 7 } 8 9 // Before `exported` is defined 10 exported!(); 11 12 mod inner { 13 14 ::exported!(); 15 crate::exported!(); 16 dollar_crate_exported!(1); 17 dollar_crate_exported!(2); 18 19 mod inner_inner { 20 #[macro_export] 21 macro_rules! exported { 22 () => () 23 } 24 } 25 26 // After `exported` is defined 27 ::exported!(); 28 crate::exported!(); 29 dollar_crate_exported!(1); 30 dollar_crate_exported!(2); 31 } 32 33 exported!(); 34 main()35fn main() {} 36