diff options
Diffstat (limited to 'tests/ui/macros/proc_macro.rs')
-rw-r--r-- | tests/ui/macros/proc_macro.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/ui/macros/proc_macro.rs b/tests/ui/macros/proc_macro.rs new file mode 100644 index 000000000..66f9cdc55 --- /dev/null +++ b/tests/ui/macros/proc_macro.rs @@ -0,0 +1,37 @@ +// 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)); +} |