summary refs log tree commit diff
path: root/src/test/run-pass/macro-by-example-1.rs
blob: 1ea77b97b8e4bdb0e8366936a07e7340d6102996 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14

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);
}