#error #result #lift

lift_result

将返回Result<_, E1>的不可靠函数提升为返回Result<_, E2>的函数,如果E1可以自动转换为E2

1个稳定版本

1.0.1 2022年5月6日

#2 in #lift

MIT/Apache

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。

无运行时依赖