| //@ run-pass | |
| //@ compile-flags: --cfg foo --check-cfg=cfg(foo) | |
| #![allow(dead_code)] | |
| macro_rules! compiles_fine { | |
| ($at:meta) => { | |
| #[cfg($at)] | |
| static MISTYPED: () = "foo"; | |
| } | |
| } | |
| macro_rules! emit { | |
| ($at:meta) => { | |
| #[cfg($at)] | |
| static MISTYPED: &'static str = "foo"; | |
| } | |
| } | |
| // item | |
| compiles_fine!(FALSE); | |
| emit!(foo); | |
| fn foo() { | |
| println!("{}", MISTYPED); | |
| } | |
| pub fn main() { | |
| // statement | |
| compiles_fine!(FALSE); | |
| emit!(FALSE); | |
| println!("{}", MISTYPED); | |
| } |