| //@ edition:2021 |
| |
| macro_rules! demo2 { |
| ( $a:tt $b:tt ) => { println!("two tokens") }; |
| } |
| |
| macro_rules! demo3 { |
| ( $a:tt $b:tt $c:tt ) => { println!("three tokens") }; |
| } |
| |
| macro_rules! demo4 { |
| ( $a:tt $b:tt $c:tt $d:tt ) => { println!("four tokens") }; |
| } |
| |
| fn main() { |
| demo3!(foo#bar); //~ ERROR prefix `foo` is unknown |
| demo2!(foo"bar"); //~ ERROR prefix `foo` is unknown |
| demo2!(foo'b'); //~ ERROR prefix `foo` is unknown |
| |
| demo2!(foo'b); //~ ERROR prefix `foo` is unknown |
| demo3!(foo# bar); //~ ERROR prefix `foo` is unknown |
| demo4!(foo#! bar); //~ ERROR prefix `foo` is unknown |
| demo4!(foo## bar); //~ ERROR prefix `foo` is unknown |
| |
| demo4!(foo#bar#); |
| //~^ ERROR prefix `foo` is unknown |
| //~| ERROR prefix `bar` is unknown |
| |
| demo3!(foo # bar); |
| demo3!(foo #bar); |
| demo4!(foo!#bar); |
| demo4!(foo ##bar); |
| |
| demo3!(r"foo"#bar); |
| demo3!(r#foo#bar); |
| } |