mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 17:53:56 +00:00
b7e7f6e903
- Trim some unnecessary fat from the type declaration. - Add another attribute, to make it a stronger test of `cfg_attr` processing. Note that the current output is incorrect, because it duplicates the added attribute. The next commit will fix this.
30 lines
649 B
Rust
30 lines
649 B
Rust
//@ 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() {}
|