1 个稳定版本
1.0.1 | 2022 年 7 月 30 日 |
---|
#2550 在 Rust 模式
4KB
Rewrap
你是否想过将 Result<Result<T, E>, F>
转换为 Result<T, F>
? 不是吗?无论如何...
安装
cargo add rewrap
用法
use rewrap::Rewrap;
use thiserror::Error;
#[derive(Error, Debug)]
enum OriginalError {}
#[derive(Error, Debug)]
enum TargetError {
#[error(transparent)]
Original(#[from] OriginalError)
}
fn main() {
let result: Result<(), TargetError> = Ok(());
let result_of_result: Result<Result<(), TargetError>, OriginalError> = Ok(result);
let rewrapped_result: Result<(), TargetError> = result_of_result.rewrap();
let unwrapped_result: () = rewrapped_result.unwrap();
}