From bd5206ee1846f90579e644ebc7874a7300fc6171 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Fri, 8 Aug 2025 10:31:37 -0700 Subject: [PATCH] mbe: Add test for attribute expansion with `compile_error!` --- tests/ui/macros/macro-rules-attr-error.rs | 13 +++++++++++++ tests/ui/macros/macro-rules-attr-error.stderr | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 tests/ui/macros/macro-rules-attr-error.rs create mode 100644 tests/ui/macros/macro-rules-attr-error.stderr diff --git a/tests/ui/macros/macro-rules-attr-error.rs b/tests/ui/macros/macro-rules-attr-error.rs new file mode 100644 index 000000000000..59fb32a5bfca --- /dev/null +++ b/tests/ui/macros/macro-rules-attr-error.rs @@ -0,0 +1,13 @@ +#![feature(macro_attr)] + +macro_rules! local_attr { + attr() { $($body:tt)* } => { + compile_error!(concat!("local_attr: ", stringify!($($body)*))); + }; + //~^^ ERROR: local_attr +} + +fn main() { + #[local_attr] + struct S; +} diff --git a/tests/ui/macros/macro-rules-attr-error.stderr b/tests/ui/macros/macro-rules-attr-error.stderr new file mode 100644 index 000000000000..7d033ae3f03d --- /dev/null +++ b/tests/ui/macros/macro-rules-attr-error.stderr @@ -0,0 +1,13 @@ +error: local_attr: struct S; + --> $DIR/macro-rules-attr-error.rs:5:9 + | +LL | compile_error!(concat!("local_attr: ", stringify!($($body)*))); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +... +LL | #[local_attr] + | ------------- in this attribute macro expansion + | + = note: this error originates in the attribute macro `local_attr` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: aborting due to 1 previous error +