//@ run-pass //@ aux-build:proc_macro_def.rs //@ ignore-cross-compile 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)); }