diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-03-15 17:46:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-15 17:46:36 -0400 |
commit | fb021d7ceff3f8b1d7cdb0c2bdd75ea07c0428d2 (patch) | |
tree | 09cb2bf87bba760b1abf706e0b8faedc9c368bbc /cli/lsp/path_to_regex.rs | |
parent | ca51f4f6c058d16ac438ad75ac92e8954895f5aa (diff) |
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<T>` and that clippy
should suggest rewriting to
`map(...).unwrap_or(...)`/`map(...).unwrap_or_else(|| ...)`
https://github.com/rust-lang/rfcs/issues/1025
Diffstat (limited to 'cli/lsp/path_to_regex.rs')
-rw-r--r-- | cli/lsp/path_to_regex.rs | 29 |
1 files changed, 14 insertions, 15 deletions
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() { |