Skip to content

Commit

Permalink
Test statement macros.
Browse files Browse the repository at this point in the history
  • Loading branch information
paulstansifer authored and graydon committed Nov 29, 2012
1 parent 15e03e1 commit f6a8ffc
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/test/run-pass/macro-stmt.rs
@@ -0,0 +1,32 @@
// xfail-pretty - token trees can't pretty print

macro_rules! myfn(
( $f:ident, ( $( $x:ident ),* ), $body:block ) => (
fn $f( $( $x : int),* ) -> int $body
)
)

myfn!(add, (a,b), { return a+b; } )

fn main() {

macro_rules! mylet(
($x:ident, $val:expr) => (
let $x = $val;
)
);

mylet!(y, 8*2);
assert(y == 16);

myfn!(mult, (a,b), { a*b } );

assert (mult(2, add(4,4)) == 16);

macro_rules! actually_an_expr_macro (
() => ( 16 )
)

assert { actually_an_expr_macro!() } == 16;

}

0 comments on commit f6a8ffc

Please sign in to comment.