| Crates.io | rich-result |
| lib.rs | rich-result |
| version | 0.1.2 |
| created_at | 2022-11-29 23:56:54.319831+00 |
| updated_at | 2022-12-22 20:13:12.564172+00 |
| description | Rich result type differentiating between recoverable & fatal errors |
| homepage | |
| repository | https://github.com/42triangles/rich-result |
| max_upload_size | |
| id | 725794 |
| size | 37,477 |
Result type for Rust(on crates.io)
Defined as
pub enum Result<T, RE, FE> {
Ok(T),
Recoverable(RE),
Fatal(FE),
}
it can handle recoverable & fatal errors somewhat easily.
Using ? on it, it either diverges with Result::Fatal for a Result::Fatal, or returns a
pub enum LocalResult<T, RE> {
NoErr(T),
Handle(RE),
}
which in turn can be used with ? to get the T out of it, or diverge with a Result::Recoverable.
Result from core when used with ? either diverges with Fatal or returns the value in Ok.
Additionally, for a public API surface for example, you can use the Result type from core by
stacking it like so: Result<Result<T, RE>, FE>, with all the instances of ? working as expected.