mirror of https://github.com/rust-lang/rust
35 lines
676 B
Rust
35 lines
676 B
Rust
//@ 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() {}
|