diff options
Diffstat (limited to 'tests/ui/macros/missing-comma.rs')
-rw-r--r-- | tests/ui/macros/missing-comma.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/macros/missing-comma.rs b/tests/ui/macros/missing-comma.rs new file mode 100644 index 000000000..92f8a7795 --- /dev/null +++ b/tests/ui/macros/missing-comma.rs @@ -0,0 +1,34 @@ +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 the token `b` + foo!(a, b, c, d e); + //~^ ERROR no rules expected the token `e` + foo!(a, b, c d, e); + //~^ ERROR no rules expected the token `d` + foo!(a, b, c d e); + //~^ ERROR no rules expected the token `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 the token `,` +} |