//@ 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); }