| // Testing token span hygiene. |
| |
| //@ proc-macro: mixed-site-span.rs |
| |
| extern crate mixed_site_span; |
| |
| use mixed_site_span::declare_macro; |
| |
| pub struct TokenItem; |
| |
| #[macro_export] |
| macro_rules! invoke_with_crate { |
| ($s:ident $i:ident) => { with_crate!{$crate $s $i} }; |
| } |
| |
| #[macro_export] |
| macro_rules! invoke_with_ident { |
| ($s:ident $i:ident) => { with_crate!{krate $s $i} }; |
| ($m:ident $s:ident $i:ident) => { with_crate!{$m $s $i} }; |
| } |
| |
| macro_rules! local {() => { |
| declare_macro!{$crate input use_input_crate} |
| declare_macro!{$crate mixed use_mixed_crate} |
| declare_macro!{$crate call use_call_crate} |
| }} |
| local!{} |
| declare_macro!{krate input use_input_krate} |
| declare_macro!{krate mixed use_mixed_krate} |
| declare_macro!{krate call use_call_krate} |