blob: bf47442ea76fbc417a1db8b822a21a26606f439c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#![feature(macro_metavar_expr_concat)]
macro_rules! wrong_concat_declarations {
($ex:expr) => {
${concat()}
//~^ ERROR expected identifier
${concat(aaaa)}
//~^ ERROR `concat` must have at least two elements
${concat(aaaa,)}
//~^ ERROR expected identifier
${concat(aaaa, 1)}
//~^ ERROR expected identifier
${concat(_, aaaa)}
${concat(aaaa aaaa)}
//~^ ERROR expected comma
${concat($ex)}
//~^ ERROR `concat` must have at least two elements
${concat($ex, aaaa)}
//~^ ERROR `${concat(..)}` currently only accepts identifiers
${concat($ex, aaaa 123)}
//~^ ERROR expected comma
${concat($ex, aaaa,)}
//~^ ERROR expected identifier
${concat($ex, aaaa, 123)}
//~^ ERROR expected identifier
};
}
macro_rules! dollar_sign_without_referenced_ident {
($ident:ident) => {
const ${concat(FOO, $foo)}: i32 = 2;
//~^ ERROR variable `foo` is not recognized in meta-variable expression
};
}
fn main() {
wrong_concat_declarations!(1);
dollar_sign_without_referenced_ident!(VAR);
}
|