| 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 `,` |
| } |