rewrap 1.0.1

`Result<Result<T, E>, F>` -> `Result<T, F>`
Documentation
  • Coverage
  • 100%
    3 out of 3 items documented2 out of 3 items with examples
  • Size
  • Source code size: 3.69 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 96.06 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • myxaaa

Rewrap

Ever wanted to convert Result<Result<T, E>, F> into Result<T, F>? No? Anyway...

Installation

cargo add rewrap

Usage

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();
}