From fb021d7ceff3f8b1d7cdb0c2bdd75ea07c0428d2 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 15 Mar 2023 17:46:36 -0400 Subject: refactor: remove usages of `map_or` / `map_or_else` (#18212) These methods are confusing because the arguments are backwards. I feel like they should have never been added to `Option` and that clippy should suggest rewriting to `map(...).unwrap_or(...)`/`map(...).unwrap_or_else(|| ...)` https://github.com/rust-lang/rfcs/issues/1025 --- cli/lsp/path_to_regex.rs | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'cli/lsp/path_to_regex.rs') diff --git a/cli/lsp/path_to_regex.rs b/cli/lsp/path_to_regex.rs index 1d766e024..dcad6b039 100644 --- a/cli/lsp/path_to_regex.rs +++ b/cli/lsp/path_to_regex.rs @@ -452,14 +452,11 @@ pub fn parse( path = String::new(); } - let name = name.map_or_else( - || { - let default = StringOrNumber::Number(key); - key += 1; - default - }, - StringOrNumber::String, - ); + let name = name.map(StringOrNumber::String).unwrap_or_else(|| { + let default = StringOrNumber::Number(key); + key += 1; + default + }); let prefix = if prefix.is_empty() { None } else { @@ -498,8 +495,10 @@ pub fn parse( must_consume(&TokenType::Close, &mut tokens)?; - let name = maybe_name.clone().map_or_else( - || { + let name = maybe_name + .clone() + .map(StringOrNumber::String) + .unwrap_or_else(|| { if maybe_pattern.is_some() { let default = StringOrNumber::Number(key); key += 1; @@ -507,9 +506,7 @@ pub fn parse( } else { StringOrNumber::String("".to_string()) } - }, - StringOrNumber::String, - ); + }); let pattern = if maybe_name.is_some() && maybe_pattern.is_none() { default_pattern.clone() } else { @@ -570,11 +567,13 @@ pub fn tokens_to_regex( let prefix = key .prefix .clone() - .map_or_else(|| "".to_string(), |s| escape_string(&s)); + .map(|s| escape_string(&s)) + .unwrap_or_default(); let suffix = key .suffix .clone() - .map_or_else(|| "".to_string(), |s| escape_string(&s)); + .map(|s| escape_string(&s)) + .unwrap_or_default(); if !key.pattern.is_empty() { if !prefix.is_empty() || !suffix.is_empty() { -- cgit v1.2.3