3 unstable releases
0.2.1 | Dec 20, 2019 |
---|---|
0.2.0 | Dec 12, 2019 |
0.1.0 | Dec 11, 2019 |
#1640 in Rust patterns
1,142 downloads per month
Used in apt-cmd
7KB
74 lines
as-result
Rust crate which provides the AsResult<T, E>
and IntoResult<T, E>
traits.
Supported Types
By default, the following types from the standard library have implementations of these traits:
- std::process::ExitStatus implemented for std::io::Result<()>
- std::process::Output implemented for std::io::Result<std::process::Output>
Example
Common when spawning commands is the desire to convert the exit status into a result:
use as_result::*;
use std::process::Command;
Command::new("/bin/echo")
.arg("hello world")
.status()
.and_then(IntoResult::into_result)
.unwrap();
Command::new("/bin/echo")
.arg("hello world")
.status()
.unwrap()
.into_result()
.unwrap();
Command::new("/bin/echo")
.arg("hello world")
.status()
.map_result()
.unwrap()
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.