rust/tests/ui/parser/macro/macro-expand-to-match-arm.rs
Nicholas Nethercote a201fab208 Tweak expand_incomplete_parse warning.
By using `token_descr`, as is done for many other errors, we can get
slightly better descriptions in error messages, e.g.
"macro expansion ignores token `let` and any following" becomes
"macro expansion ignores keyword `let` and any tokens following".

This will be more important once invisible delimiters start being
mentioned in error messages -- without this commit, that leads to error
messages such as "error at ``" because invisible delimiters are
pretty printed as an empty string.
2024-10-28 14:12:45 +11:00

21 lines
539 B
Rust

macro_rules! arm {
($pattern:pat => $block:block) => {
$pattern => $block
//~^ ERROR macro expansion ignores `=>` and any tokens following
//~| NOTE the usage of `arm!` is likely invalid in pattern context
//~| NOTE macros cannot expand to match arms
};
}
fn main() {
let x = Some(1);
match x {
Some(1) => {},
arm!(None => {}),
//~^ NOTE caused by the macro expansion here
//~| ERROR `match` arm with no body
Some(2) => {},
_ => {},
};
}