2 个版本
0.1.1 | 2023 年 12 月 30 日 |
---|---|
0.1.0 | 2023 年 12 月 28 日 |
#1974 在 Rust 模式
85 每月下载量
在 2 crates 中使用
7KB
enum-extract
一个派生 proc-macro,用于生成到枚举内部成员的函数。
这是对 enum-as-inner 的重大修改分支。以下列出了其中一些主要区别
as_[variant]
、into_[variant]
和as_[variant]_mut
方法返回一个 Result,该 Result 可以包含具体的错误类型EnumExtractError
。- 当实际变体与预期变体不匹配时返回错误,并包含预期变体和实际变体的名称,以便于故障排除。
- 错误还实现了 Display,消息为
expected {expected}, got {actual}
,这样你就有了一个开始故障排除的地方,而不是在Option
上调用unwrap
,或者反复手动编写更好的错误消息。
- 添加了
extract_as_[variant]
、extract_into_[variant]
和extract_as_[variant]_mut
方法,如果实际变体与预期变体不匹配,则引发 panic。- 这些方法在测试中非常有用,尤其是在与
EnumExtractError
结构体支持的更好错误消息结合使用时。
- 这些方法在测试中非常有用,尤其是在与
Crate
该项目由两个应该一起使用的 crate 组成。由于导出过程宏的 crate 只能 只能 导出过程宏,因此它们是分开的。它们应该被视为一个单一的项目,因此将同步版本化。
enum-extract-macro
提供可用于枚举的 EnumExtract
继承宏,该宏可以为每个变体提供 as_[variant]
函数,以及其他有用的函数。
请参阅文档以获取示例和更多详细信息。
enum-extract-error
提供用于 as_[variant]
函数的返回值的 EnumExtractError
。
请参阅文档以获取示例和更多详细信息。
依赖关系
~305–770KB
~18K SLoC