我创建了一个宏函数
有什么方法可以断言
我发现了 assert_type_eq,但是文档很不清楚,我不知道该如何使用它,或者它是否是完成任务的最佳方法。
我想在我的宏中添加这些类型断言,以使其更容易发现错误用法。
my_macro
:macro_rules! my_macro {
($param1:expr, $param2:expr) => {
// ...
};
}
有什么方法可以断言
$param1
是类型 MyType
吗?是否可能检查更复杂的内容,如 Box<T>
或返回类型?我发现了 assert_type_eq,但是文档很不清楚,我不知道该如何使用它,或者它是否是完成任务的最佳方法。
我想在我的宏中添加这些类型断言,以使其更容易发现错误用法。
$param1
应该是MyType
,为什么要首先将其转换为参数呢?直接在宏中使用MyType
即可。 - Jmblet p1: MyType = $param1;
就可以工作,assert_type_eq
也可以工作。 - kaya3let
指出的是惯用法,从我在实践中看到的情况来看。 - Ivan C