| // Proc macros using `mixed_site` spans exhibit usual properties of `macro_rules` hygiene. |
| |
| //@ aux-build:mixed-site-span.rs |
| |
| #[macro_use] |
| extern crate mixed_site_span; |
| |
| struct ItemUse; |
| |
| fn main() { |
| 'label_use: loop { |
| let local_use = 1; |
| proc_macro_rules!(); |
| //~^ ERROR use of undeclared label `'label_use` |
| //~| ERROR cannot find value `local_use` in this scope |
| ItemDef; // OK |
| local_def; //~ ERROR cannot find value `local_def` in this scope |
| } |
| } |
| |
| macro_rules! pass_dollar_crate { |
| () => (proc_macro_rules!($crate);) //~ ERROR cannot find type `ItemUse` in crate `$crate` |
| } |
| pass_dollar_crate!(); |