2个版本
0.1.1 | 2023年12月30日 |
---|---|
0.1.0 | 2023年12月28日 |
#17 in #members
69 monthly downloads
用于 skyscraper
52KB
822 行
enum-extract
一个生成枚举内部成员函数的衍生proc宏。
这是对enum-as-inner的深度修改分支。以下是一些关键差异:
as_[variant]
、into_[variant]
和as_[variant]_mut
方法返回一个包含具体错误类型的ResultEnumExtractError
。- 当实际变体与预期变体不匹配时返回错误,并包含用于故障排除目的的预期变体和实际变体的名称。
- 错误还实现了Display,带有消息
expected {expected}, got {actual}
,这样您就可以有一个起点来开始故障排除,而不是在Option上调用unwrap
,或者反复手动编写更好的错误消息。
- 添加了
extract_as_[variant]
、extract_into_[variant]
和extract_as_[variant]_mut
方法,如果实际变体与预期变体不匹配,则引发panic。- 这对于测试非常有用,尤其是在接受panic的情况下,特别是当与
EnumExtractError
结构支持的更好的错误消息结合使用时。
- 这对于测试非常有用,尤其是在接受panic的情况下,特别是当与
包
此项目由两个应该一起使用的包组成。由于导出过程宏的包可以仅导出过程宏,因此它们是分开的。它们应被视为单一项目,因此将同步版本。
enum-extract-macro
提供用于枚举的 EnumExtract
衍生宏,可用于获取每个变体的 as_[variant]
函数,以及其他有用函数。
请参阅文档以获取示例和更多详细信息。
enum-extract-error
提供用于 as_[variant]
函数返回值的 EnumExtractError
。
请参阅文档以获取示例和更多详细信息。
依赖关系
~325–790KB
~18K SLoC