| //@ 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); | |
| } |