rust/tests/ui/macros/macro-missing-fragment.rs
Trevor Gross b9e9be38c0 mbe: Clean up code with non-optional NonterminalKind
Since [1], the fragment specifier is unconditionally required in all
editions. This means `NonTerminalKind` no longer needs to be optional,
as we can reject this code during the expansion of `macro_rules!` rather
than handling it throughout the code. Do this cleanup here.

[1]: https://github.com/rust-lang/rust/pull/128425
2025-06-24 04:37:36 -04:00

20 lines
421 B
Rust

//! Ensure that macros produce an error if fragment specifiers are missing.
macro_rules! used_arm {
( $( any_token $field_rust_type )* ) => {}; //~ ERROR missing fragment
}
macro_rules! used_macro_unused_arm {
() => {};
( $name ) => {}; //~ ERROR missing fragment
}
macro_rules! unused_macro {
( $name ) => {}; //~ ERROR missing fragment
}
fn main() {
used_arm!();
used_macro_unused_arm!();
}