1 #![feature(rustc_attrs)]
3 macro_rules! stmt_mac {
13 // Bug: built-in attrs like `rustc_dummy` are not gated on blocks, but other attrs are.
14 #[rustfmt::skip] //~ ERROR attributes on expressions are experimental
26 // Check that cfg works right
40 #[cfg_attr(not(unset), cfg(unset))]
46 #[cfg_attr(not(unset), cfg(not(unset)))]
52 // check that macro expansion and cfg works right
54 macro_rules! item_mac {
72 #[cfg_attr(not(unset), cfg(unset))]
78 #[cfg_attr(not(unset), cfg(not(unset)))]
90 // check that the gate visitor works right:
94 fn x(a: [u8; #[rustc_dummy] 5]);
95 fn y(a: [u8; #[rustc_dummy] 5]); //~ ERROR attributes on expressions are experimental
101 const X: u8 = #[rustc_dummy] 5;
102 const Y: u8 = #[rustc_dummy] 5; //~ ERROR attributes on expressions are experimental
107 const X: [u8; #[rustc_dummy] 5];
108 const Y: [u8; #[rustc_dummy] 5]; //~ ERROR attributes on expressions are experimental
113 field: [u8; #[rustc_dummy] 5],
114 field2: [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
118 #[cfg(unset)] [u8; #[rustc_dummy] 5],
119 [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
124 #[cfg(unset)] [u8; #[rustc_dummy] 5],
125 [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
129 field: [u8; #[rustc_dummy] 5],
130 field2: [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
137 5 => #[rustc_dummy] (),
138 6 => #[rustc_dummy] (), //~ ERROR attributes on expressions are experimental