4
特にマクロを書くときに、2つのタイプが互換性があることを確認したい場合があります。 たとえば、2つの引数が同じ型であることを確認するには錆のポインタの種類が異なる場合にコンパイルエラーを生成するにはどうすればよいですか?
タイプの互換性を保証するにはどうすればよいですか?
Similar to this C question, but for Rust.
特にマクロを書くときに、2つのタイプが互換性があることを確認したい場合があります。 たとえば、2つの引数が同じ型であることを確認するには錆のポインタの種類が異なる場合にコンパイルエラーを生成するにはどうすればよいですか?
タイプの互換性を保証するにはどうすればよいですか?
Similar to this C question, but for Rust.
タイプが一致を確保するための簡単な方法は、実行されることはありませんブロック内で、ダミーの値に割り当てることです。
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);