rust/tests/ui/macros/missing-comma.rs
Nicholas Nethercote dd2b027d5d Tweak more warnings.
Much like the previous commit.

I think the removal of "the token" in each message is fine here. There
are many more error messages that mention tokens without saying "the
token" than those that do say it.
2024-10-28 14:20:28 +11:00

35 lines
893 B
Rust

macro_rules! foo {
($a:ident) => ();
($a:ident, $b:ident) => ();
($a:ident, $b:ident, $c:ident) => ();
($a:ident, $b:ident, $c:ident, $d:ident) => ();
($a:ident, $b:ident, $c:ident, $d:ident, $e:ident) => ();
}
macro_rules! bar {
($lvl:expr, $($arg:tt)+) => {}
}
macro_rules! check {
($ty:ty, $expected:expr) => {};
($ty_of:expr, $expected:expr) => {};
}
fn main() {
println!("{}" a);
//~^ ERROR expected `,`, found `a`
foo!(a b);
//~^ ERROR no rules expected `b`
foo!(a, b, c, d e);
//~^ ERROR no rules expected `e`
foo!(a, b, c d, e);
//~^ ERROR no rules expected `d`
foo!(a, b, c d e);
//~^ ERROR no rules expected `d`
bar!(Level::Error, );
//~^ ERROR unexpected end of macro invocation
check!(<str as Debug>::fmt, "fmt");
check!(<str as Debug>::fmt, "fmt",);
//~^ ERROR no rules expected `,`
}