mirror of https://github.com/rust-lang/rust.git
37 lines
691 B
Rust
37 lines
691 B
Rust
#![feature(macro_metavar_expr_concat)]
|
|
|
|
macro_rules! one_rep {
|
|
( $($a:ident)* ) => {
|
|
$(
|
|
const ${concat($a, Z)}: i32 = 3;
|
|
)*
|
|
};
|
|
}
|
|
|
|
macro_rules! issue_128346 {
|
|
( $($a:ident)* ) => {
|
|
A(
|
|
const ${concat($a, Z)}: i32 = 3;
|
|
//~^ ERROR invalid syntax
|
|
)*
|
|
};
|
|
}
|
|
|
|
macro_rules! issue_131393 {
|
|
($t:ident $($en:ident)?) => {
|
|
read::<${concat($t, $en)}>()
|
|
//~^ ERROR invalid syntax
|
|
//~| ERROR invalid syntax
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
one_rep!(A B C);
|
|
assert_eq!(AZ, 3);
|
|
assert_eq!(BZ, 3);
|
|
assert_eq!(CZ, 3);
|
|
issue_128346!(A B C);
|
|
issue_131393!(u8);
|
|
issue_131393!(u16 le);
|
|
}
|