rust/tests/ui/proc-macro/cfg-eval-inner.rs

40 lines
757 B
Rust

//@ compile-flags: -Z span-debug
//@ aux-build:test-macros.rs
//@ check-pass
#![feature(cfg_eval)]
#![feature(custom_inner_attributes)]
#![feature(stmt_expr_attributes)]
#![feature(rustc_attrs)]
#![no_std] // Don't load unnecessary hygiene information from std
extern crate std;
#[macro_use]
extern crate test_macros;
struct Foo<T>(T);
impl Foo<[u8; {
#![cfg_attr(not(FALSE), rustc_dummy(cursed_inner))]
#![allow(unused)]
struct Inner {
field: [u8; {
#![cfg_attr(not(FALSE), rustc_dummy(another_cursed_inner))]
1
}]
}
0
}]> {
#![cfg_eval]
#![print_attr]
#![cfg_attr(not(FALSE), rustc_dummy(evaluated_attr))]
fn bar() {
#[cfg(FALSE)] let a = 1;
}
}
fn main() {}