rust/tests/ui/macros/macro-rules-attr-nested.rs
Josh Triplett 489734cd08 mbe: Add a test confirming that a macro attribute can apply itself recursively
This allows a macro attribute to implement default arguments by
reapplying itself with the defaults filled in, for instance.
2025-08-08 11:01:12 -07:00

25 lines
432 B
Rust

//@ run-pass
//@ check-run-results
#![feature(macro_attr)]
macro_rules! nest {
attr() { struct $name:ident; } => {
println!("nest");
#[nest(1)]
struct $name;
};
attr(1) { struct $name:ident; } => {
println!("nest(1)");
#[nest(2)]
struct $name;
};
attr(2) { struct $name:ident; } => {
println!("nest(2)");
};
}
fn main() {
#[nest]
struct S;
}