2 macro_rules! check_ty {
3 ($Z:ty) => { compile_error!("triggered"); };
4 ($X:ty | $Y:ty) => { $X };
8 ($Z:ty) => { compile_error!("triggered"); };
9 ($X:ty | $Y:ty) => { };
14 fn foo(x: check_ty! { i32 | u8 }) -> check_ty! { i32 | u8 } {
18 let x: check_ty! { i32 | u8 } = 42;
19 let _: check_ty! { i32 | u8 } = foo(x);