This crate offers a pair of traits for effortlessly transforming Option
into Result
, elegantly converting Some
values into Err
while gracefully handling None
values as Ok
. Unleash the full potential of Rust's error handling capabilities with these versatile traits.
Add this to your crate by:
bash
cargo add some-to-err
Or add this to your Cargo.toml
:
toml
[dependencies]
some-to-err = "0.1.1"
and then: ```rust use sometoerr::SomeToErr;
{ let some: Option<&str> = Some("Error"); let result = some.sometoerr(42); assert_eq!(result, Err("Error")); }
{ let none: Option<&str> = None; let result = none.sometoerr(42); assert_eq!(result, Ok(42)); }
{ let input: Option<&str> = None; let result = input.sometoerrelse(|| "Ok"); asserteq!(result, Ok("Ok")); }
{ let input = Some("Error"); let result = input.sometoerrelse(|| "Ok"); asserteq!(result, Err("Error")); } ```