Refactor: Use Result::map_or_else in main

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2022-06-07 16:19:07 +10:00
parent b6245bcf4b
commit 903c9f5591
No known key found for this signature in database
GPG key ID: 591C0B03040416D6

View file

@ -120,15 +120,13 @@ fn main() -> MainExit {
let done = start.elapsed(); let done = start.elapsed();
debug!("run time: {done:?}"); debug!("run time: {done:?}");
result result.map_or_else(MainExit::JoinErr, |res| {
.map(|res| {
res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| { res.map(|_| MainExit::Success(done)).unwrap_or_else(|err| {
err.downcast::<BinstallError>() err.downcast::<BinstallError>()
.map(MainExit::Error) .map(MainExit::Error)
.unwrap_or_else(MainExit::Report) .unwrap_or_else(MainExit::Report)
}) })
}) })
.unwrap_or_else(MainExit::JoinErr)
} }
async fn entry() -> Result<()> { async fn entry() -> Result<()> {