1个稳定版本
1.0.1 | 2022年5月6日 |
---|
#2 in #lift
5KB
lift_result
将失败于错误E1的不可靠函数提升为失败于错误E2的函数。
我有一个自己的Error
类型,将其他结果转换为我的类型既简单又愉快
result.map_err(Error::from)
但是当我想通过.and_then
应用一个不可靠函数时,我不得不这样做
result.and_then(|x| failable(x).map_err(|e| e.into()))
我不喜欢这样做
- 太啰嗦了
- 可读性不高
- 编译器应该能够知道如何做到这一点
所以我写了这个库。太棒了,编程!🎉
示例
result
.map_err(Error::from)
.and_then(lift(failable))
特别感谢
感谢 cargo-readme 为我生成这个README。
许可证:MIT OR Apache-2.0
lib.rs
:
将失败于错误E1的不可靠函数提升为失败于错误E2的函数。
我有一个自己的Error
类型,将其他结果转换为我的类型既简单又愉快
result.map_err(Error::from)
但是当我想通过.and_then
应用一个不可靠函数时,我不得不这样做
result.and_then(|x| failable(x).map_err(|e| e.into()))
我不喜欢这样做
- 太啰嗦了
- 可读性不高
- 编译器应该能够知道如何做到这一点
所以我写了这个库。太棒了,编程!🎉
示例
result
.map_err(Error::from)
.and_then(lift(failable))
特别感谢
感谢 cargo-readme 为我生成这个README。