mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 01:34:21 +00:00
37 lines
917 B
Rust
37 lines
917 B
Rust
// 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);
|
|
}
|