diff options
Diffstat (limited to 'src/test/ui/proc-macro/cfg-eval.rs')
-rw-r--r-- | src/test/ui/proc-macro/cfg-eval.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/proc-macro/cfg-eval.rs b/src/test/ui/proc-macro/cfg-eval.rs deleted file mode 100644 index fa6d015e4..000000000 --- a/src/test/ui/proc-macro/cfg-eval.rs +++ /dev/null @@ -1,37 +0,0 @@ -// check-pass -// compile-flags: -Z span-debug -// aux-build:test-macros.rs - -#![feature(cfg_eval)] -#![feature(proc_macro_hygiene)] -#![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; - -#[cfg_eval] -#[print_attr] -struct S1 { - #[cfg(FALSE)] - field_false: u8, - #[cfg(all(/*true*/))] - #[cfg_attr(FALSE, unknown_attr)] - #[cfg_attr(all(/*true*/), allow())] - field_true: u8, -} - -#[cfg_eval] -#[cfg(FALSE)] -struct S2 {} - -fn main() { - // Subtle - we need a trailing comma after the '1' - otherwise, `#[cfg_eval]` will - // turn this into `(#[cfg(all())] 1)`, which is a parenthesized expression, not a tuple - // expression. `#[cfg]` is not supported inside parenthesized expressions, so this will - // produce an error when attribute collection runs. - let _ = #[cfg_eval] #[print_attr] #[cfg_attr(not(FALSE), rustc_dummy)] - (#[cfg(FALSE)] 0, #[cfg(all(/*true*/))] 1,); -} |