diff options
| author | ibraheemdev <ibrah1440@gmail.com> | 2021-09-02 16:03:41 -0400 |
|---|---|---|
| committer | ibraheemdev <ibrah1440@gmail.com> | 2021-09-02 16:03:41 -0400 |
| commit | 2bdd0755139cf7183d6c63bda16925d824640f10 (patch) | |
| tree | 50a159e1eb9e34244b0924b1dcbffbf4597a99f0 | |
| parent | 6cfa773583bb5123e630668f5bfe466716225546 (diff) | |
| download | rust-2bdd0755139cf7183d6c63bda16925d824640f10.tar.gz rust-2bdd0755139cf7183d6c63bda16925d824640f10.zip | |
implement `Termination` for `Result<Infallible, E>`
| -rw-r--r-- | library/std/src/process.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/library/std/src/process.rs b/library/std/src/process.rs index c9b21fcf9c6..d94b6896751 100644 --- a/library/std/src/process.rs +++ b/library/std/src/process.rs @@ -106,6 +106,7 @@ mod tests; use crate::io::prelude::*; +use crate::convert::Infallible; use crate::ffi::OsStr; use crate::fmt; use crate::fs; @@ -2052,6 +2053,15 @@ impl<E: fmt::Debug> Termination for Result<!, E> { } #[unstable(feature = "termination_trait_lib", issue = "43301")] +impl<E: fmt::Debug> Termination for Result<Infallible, E> { + fn report(self) -> i32 { + let Err(err) = self; + eprintln!("Error: {:?}", err); + ExitCode::FAILURE.report() + } +} + +#[unstable(feature = "termination_trait_lib", issue = "43301")] impl Termination for ExitCode { #[inline] fn report(self) -> i32 { |
