A wrapper on std::result::Result
that returns on Ok
instead of Err
when ?
operator is used.
This allows to exit a function with an Ok
result if a computation has succeeded, or handle the error inside the function if it has failed
Regular Result
's ?
mimcs the shortcircuiting on a logical and: if one operation returns an error, immedtiatly return from the function. If not, proceed to the next statements.
HatchResult
's ?
mimics the shortcircuiting on a logical or: if one operation returns an Ok, immediately return from the function. If not, proceed to the next statements.
This crate also implements a hatch
method on regular Result
that returns self inside of a HatchResult
wrapper.
```rust
fn operation1() -> Result
}
fn operation2() -> Result
fn exitearlyifpossible() -> Result
fn handle_errors(err1: String, err2: String) -> Result
```rust
fn regular_result() -> Result
fn hatch_result() -> Result
If the function succeeds, an Ok Result is returned using ? operator. If it fails, the expression evaluates to the error value.
```rust
fn operationthatmight_fail() -> HatchResult
fn hatchresult() -> Result
The hatch
method "converts" a result to a HatchResult.
This allows you to exit early on an Ok result or handle the error.
```rust
fn operationthatmight_fail() -> Result
fn hatchresult() -> Result