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>通过使用logcrate 记录警告来将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