From a4caa2bc261df02a1c856ee1cf346b4cb984e490 Mon Sep 17 00:00:00 2001 From: Isse Date: Sun, 26 Nov 2023 15:37:14 +0100 Subject: [PATCH] use Result::or for Either::from_str --- server/src/cmd.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 2862b3ac23..664e85acdb 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -4573,13 +4573,9 @@ fn handle_tether( type Err = B::Err; fn from_str(s: &str) -> Result { - match A::from_str(s) { - Ok(a) => Ok(Either::Left(a)), - Err(_) => match B::from_str(s) { - Ok(b) => Ok(Either::Right(b)), - Err(e) => Err(e), - }, - } + A::from_str(s) + .map(Either::Left) + .or_else(|_| B::from_str(s).map(Either::Right)) } } if let (Some(entity_target), length) = parse_cmd_args!(args, EntityTarget, Either) {