Hatch Result
A wrapper over std::result::Result that returns on Ok instead of Err when the ? operator is used.
This will exit the function with an Ok result if the computation has succeeded, or allows the developer to handle the error inside the function if it has failed.
The builtin Result's implementation of the ? operator mimics the short circuiting on a logical and: if one operation returns an error, immediately return from the function. If not, proceed to the next statements.
HatchResult's implementation of the ? operator mimics the short circuiting 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 the builtin Result type that wraps the value in a HatchResult.
Examples
Typical use case
Difference between regular Result and HatchResult
Exiting early after success of a fallible function.
If the function succeeds, an Ok value is returned using the ? operator.
If it fails, the expression evaluates to the error value.
Converting from Result
The hatch method "converts" a result to a HatchResult.
This allows you to exit early on an Ok result or handle the error.