//@ check-pass //@ compile-flags: -Z span-debug --error-format human //@ aux-build:test-macros.rs #![feature(rustc_attrs)] #![feature(stmt_expr_attributes)] #![no_std] // Don't load unnecessary hygiene information from std extern crate std; #[macro_use] extern crate test_macros; macro_rules! produce_it { ($expr:expr) => { #[derive(Print)] struct Foo( [bool; #[cfg_attr(not(FALSE), rustc_dummy(first))] $expr] ); } } produce_it!(#[cfg_attr(not(FALSE), rustc_dummy(second))] { #![cfg_attr(not(FALSE), rustc_dummy(third))] #[cfg_attr(not(FALSE), rustc_dummy(fourth))] 30 }); fn main() {}