确保类型匹配的一种简单方法是将它们分配给永不执行的块中的虚拟值.
macro_rules! check_type_pair {
($a:expr, $b:expr) => {
if false {
let _type_check = if false {$a} else {$b};
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在宏中你可以简单地添加:
check_type_pair!($arg_1, $arg_2);
Run Code Online (Sandbox Code Playgroud)