1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
struct S(u8, (u8, u8));
macro_rules! generate_field_accesses {
($a:tt, $b:literal, $c:expr) => {
let s = S(0, (0, 0));
s.$a; // OK
{ s.$b; } //~ ERROR unexpected token: `literal` metavariable
//~| ERROR expected one of `.`, `;`, `?`, `}`, or an operator, found `literal` metavariable
{ s.$c; } //~ ERROR unexpected token: `expr` metavariable
//~| ERROR expected one of `.`, `;`, `?`, `}`, or an operator, found `expr` metavariable
};
}
fn main() {
generate_field_accesses!(1.1, 1.1, 1.1);
}
|