Hatch Result
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.
Examples
Tipical use case
Difference between regular result and HatchResult
Exiting early after success of a fallible function.
If the function succeeds, an Ok Result is returned using ? 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.