Rust 当指针类型不同时,如何生成编译错误?
我们可能希望确保两种类型是兼容的,尤其是在编写宏时。 例如,检查两个参数的类型是否相同 如何最好地确保类型兼容Rust 当指针类型不同时,如何生成编译错误?,rust,Rust,我们可能希望确保两种类型是兼容的,尤其是在编写宏时。 例如,检查两个参数的类型是否相同 如何最好地确保类型兼容 确保类型匹配的一个简单方法是在一个从不执行的块内将它们分配给一个伪值 macro_rules! check_type_pair { ($a:expr, $b:expr) => { if false { let _type_check = if false {$a} else {$b}; } } } 然后,
确保类型匹配的一个简单方法是在一个从不执行的块内将它们分配给一个伪值
macro_rules! check_type_pair {
($a:expr, $b:expr) => {
if false {
let _type_check = if false {$a} else {$b};
}
}
}
然后,在宏中,您只需添加:
check_type_pair!($arg_1, $arg_2);