3 个版本
使用旧的 Rust 2015
0.1.2 | 2016年4月12日 |
---|---|
0.1.1 | 2016年2月5日 |
0.1.0 | 2016年2月4日 |
在 #警告 中排名 86
每月下载量 38 次
在 5 个crate(直接使用3个)中使用
14KB
281 行(不包括注释)
w_result
此 Rust crate 定义了 WResult
,一种携带警告的结果类型。
有时,即使遇到错误,操作也可能继续进行。在这些情况下,如果调用者需要采取行动,通知调用者这些错误是有用的。为此,函数可以返回一个 WResult
。
enum WResult<T, W, E> {
WOk(T, Vec<W>),
WErr(e),
}
WResult
与 Result
类似,除了 ok 变体携带一个与其值一起的警告向量。与仅使用 Result<Vec<W>>, E>
的优势在于
- 清晰度。
- 一些
WResult
方法将自动从多个WResult
中累积警告(例如,查看and
和FromIterator<WResult<..>>
实现)。
转换为 Result
通常,你想要的唯一一件事情就是将 WResult
转换为 Result
。 WResult
提供了几个方法来完成此操作,它们在处理警告的方式上有所不同
WResult::result_log(self) -> Result<T, E>
通过使用log
crate 记录警告来将WResult
转换为Result
。WResult::result_discard(self) -> Result<T, E>
通过丢弃警告来将WResult
转换为Result
。WResult::result_werr(self) -> Result<T, E>
将警告视为错误并转换为Result
。如果有警告,则将第一个警告作为错误返回。此方法仅在警告和错误类型相同时存在。WResult::result_werr_res(self) -> Result<T, Result<W, E>>
与result_werr
类似,但允许警告和错误类型为两种不同的类型。
依赖关系
~160KB