#![feature(plugin)]
#![plugin(string_to_expr)]
#[test]
fn test_simple_expr() {
assert_eq!(string_to_expr!("0x10"), 16);
}
#[test]
fn test_fn_def() {
string_to_expr!("fn times_three(n: i32) -> i32 { n * 3 }");
assert_eq!(times_three(5), 15);
}
#[test]
fn test_macro() {
macro_rules! define_foo {
($x:ident) => {
string_to_expr!(concat!("fn foo_", stringify!($x), "() -> i32 { 10 }"));
}
}
define_foo!(bar);
assert_eq!(foo_bar(), 10);
}