//@ run-pass | |
//@ aux-build:proc_macro_def.rs | |
extern crate proc_macro_def; | |
use proc_macro_def::{attr_tru, attr_identity, identity, ret_tru, tru}; | |
#[attr_tru] | |
fn f1() -> bool { | |
return false; | |
} | |
#[attr_identity] | |
fn f2() -> bool { | |
return identity!(true); | |
} | |
fn f3() -> identity!(bool) { | |
ret_tru!(); | |
} | |
fn f4(x: bool) -> bool { | |
match x { | |
identity!(true) => false, | |
identity!(false) => true, | |
} | |
} | |
fn main() { | |
assert!(f1()); | |
assert!(f2()); | |
assert!(tru!()); | |
assert!(f3()); | |
assert!(identity!(5 == 5)); | |
assert!(f4(false)); | |
} |