rust/src/test/run-pass/macro-by-example-1.rs

14 lines
323 B
Rust

fn main() {
#macro[[#apply[f, [x, ...]], f(x, ...)]];
macro_rules! apply_tt(
($f:expr, ($($x:expr),*)) => {$f($($x),*)}
)
fn add(a: int, b: int) -> int { return a + b; }
assert(apply!(add, [1, 15]) == 16);
assert(apply!(add, [1, 15]) == 16);
assert(apply_tt!(add, (1, 15)) == 16);
}