1 // gate-test-custom_inner_attributes
2 // compile-flags: -Z span-debug --error-format human
3 // aux-build:test-macros.rs
6 #![feature(custom_inner_attributes)]
7 #![feature(proc_macro_hygiene)]
8 #![feature(stmt_expr_attributes)]
9 #![feature(rustc_attrs)]
11 #![no_std] // Don't load unnecessary hygiene information from std
15 extern crate test_macros;
17 #[print_target_and_args(first)]
18 #[print_target_and_args(second)]
20 #![print_target_and_args(third)]
21 #![print_target_and_args(fourth)]
24 #[print_target_and_args(mod_first)]
25 #[print_target_and_args(mod_second)]
27 #![print_target_and_args(mod_third)]
28 #![print_target_and_args(mod_fourth)]
36 struct MyDerivePrint {
40 #![cfg_attr(not(FALSE), rustc_dummy(third))]
49 #[print_target_and_args(tuple_attrs)] (
51 #![cfg_attr(not(FALSE), rustc_dummy(innermost))]
56 #[print_target_and_args(tuple_attrs)] (
58 #![cfg_attr(not(FALSE), rustc_dummy(innermost))]
64 #![print_attr] //~ ERROR expected non-macro inner attribute
68 #![print_attr] //~ ERROR expected non-macro inner attribute
72 #![print_attr] //~ ERROR expected non-macro inner attribute
76 #![print_attr] //~ ERROR expected non-macro inner attribute
83 #![print_target_and_args_consume(tenth)]