From d39bc0acabcf3e8a721314e8446947092ceac45e Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Thu, 21 Jul 2022 20:43:47 +1000 Subject: [PATCH] Construct `BinstallError` from `JoinError` in `main` Signed-off-by: Jiahao XU --- src/main.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main.rs b/src/main.rs index 51847dcb..12ec5126 100644 --- a/src/main.rs +++ b/src/main.rs @@ -172,13 +172,16 @@ fn main() -> MainExit { let done = start.elapsed(); debug!("run time: {done:?}"); - result.map_or_else(MainExit::JoinErr, |res| { - res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| { - err.downcast::() - .map(MainExit::Error) - .unwrap_or_else(MainExit::Report) - }) - }) + result.map_or_else( + |join_err| MainExit::Error(BinstallError::from(join_err)), + |res| { + res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| { + err.downcast::() + .map(MainExit::Error) + .unwrap_or_else(MainExit::Report) + }) + }, + ) } async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {