| Crates.io | into-result |
| lib.rs | into-result |
| version | 0.3.1 |
| created_at | 2019-07-26 20:18:43.449005+00 |
| updated_at | 2020-03-09 23:29:52.973581+00 |
| description | A simple convenience trait for converting something into a `Result` or `Option` |
| homepage | |
| repository | https://github.com/francesca64/into-result |
| max_upload_size | |
| id | 151858 |
| size | 20,588 |
into-resultA simple convenience trait for converting something into a Result or Option.
Out of the box, this gives you improved error handling for
Command::output
Command::spawn,
and Command::status.
These methods only return Err if the process fails to spawn;
further handling is required to check if the command has a successful exit status.
IntoResult does that handling for you, folding both types of failure into one Result:
use into_result::{IntoResult as _};
use std::process::Command;
Command::new("ls")
.spawn()
.into_result()
.expect("either failed to spawn command, or command returned non-zero exit status");
You can run the example to see what this looks like in practice.
into-result also has no_std support via no-default-features.
You'll still get the IntoResult trait and an impl for bool.