From 903c9f559171ecd5fe07f36a59da325c2a270066 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Tue, 7 Jun 2022 16:19:07 +1000 Subject: [PATCH] Refactor: Use `Result::map_or_else` in `main` Signed-off-by: Jiahao XU --- src/main.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 87f63063..5d578545 100644 --- a/src/main.rs +++ b/src/main.rs @@ -120,15 +120,13 @@ fn main() -> MainExit { let done = start.elapsed(); debug!("run time: {done:?}"); - result - .map(|res| { - res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| { - err.downcast::() - .map(MainExit::Error) - .unwrap_or_else(MainExit::Report) - }) + 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) }) - .unwrap_or_else(MainExit::JoinErr) + }) } async fn entry() -> Result<()> {