// check-pass // compile-flags: -Z span-debug --error-format human // aux-build:test-macros.rs #![feature(rustc_attrs)] #![no_std] // Don't load unnecessary hygiene information from std extern crate std; #[macro_use] extern crate test_macros; macro_rules! expand_to_derive { ($item:item) => { #[derive(Print)] struct Foo { #[cfg(FALSE)] removed: bool, field: [bool; { $item 0 }] } }; } expand_to_derive! { #[cfg_attr(not(FALSE), rustc_dummy)] struct Inner { #[cfg(FALSE)] removed_inner_field: bool, other_inner_field: u8, } } fn main() {}