From a122e55129ddadcacf8f327fa5aad726c8246b68 Mon Sep 17 00:00:00 2001 From: mike <98623181+1Kinoti@users.noreply.github.com> Date: Fri, 14 Apr 2023 21:51:38 +0300 Subject: [PATCH] use `let-else` syntax where possible (#8886) # Description this pr changes some `if-let`s to `let-else`s # User-Facing Changes none --- .../src/core_commands/help_aliases.rs | 16 +++++++--------- .../src/core_commands/help_modules.rs | 4 +--- crates/nu-cmd-lang/src/core_commands/use_.rs | 9 +++------ crates/nu-engine/src/column.rs | 14 +++++++------- crates/nu-parser/src/parse_keywords.rs | 8 ++------ crates/nu-parser/src/parser.rs | 4 +--- crates/nu-protocol/src/value/range.rs | 4 +--- 7 files changed, 22 insertions(+), 37 deletions(-) diff --git a/crates/nu-cmd-lang/src/core_commands/help_aliases.rs b/crates/nu-cmd-lang/src/core_commands/help_aliases.rs index 256863419e..455682a16d 100644 --- a/crates/nu-cmd-lang/src/core_commands/help_aliases.rs +++ b/crates/nu-cmd-lang/src/core_commands/help_aliases.rs @@ -111,15 +111,13 @@ pub fn help_aliases( name.push_str(&r.item); } - let alias = if let Some(id) = engine_state.find_decl(name.as_bytes(), &[]) { - if let Some(alias) = engine_state.get_decl(id).as_alias() { - alias - } else { - return Err(ShellError::AliasNotFound(span( - &rest.iter().map(|r| r.span).collect::>(), - ))); - } - } else { + let Some(alias) = engine_state.find_decl(name.as_bytes(), &[]) else { + return Err(ShellError::AliasNotFound(span( + &rest.iter().map(|r| r.span).collect::>(), + ))); + }; + + let Some(alias) = engine_state.get_decl(alias).as_alias() else { return Err(ShellError::AliasNotFound(span( &rest.iter().map(|r| r.span).collect::>(), ))); diff --git a/crates/nu-cmd-lang/src/core_commands/help_modules.rs b/crates/nu-cmd-lang/src/core_commands/help_modules.rs index 51840920fb..f87c870771 100644 --- a/crates/nu-cmd-lang/src/core_commands/help_modules.rs +++ b/crates/nu-cmd-lang/src/core_commands/help_modules.rs @@ -117,9 +117,7 @@ pub fn help_modules( name.push_str(&r.item); } - let module_id = if let Some(id) = engine_state.find_module(name.as_bytes(), &[]) { - id - } else { + let Some(module_id) = engine_state.find_module(name.as_bytes(), &[]) else { return Err(ShellError::ModuleNotFoundAtRuntime { mod_name: name, span: span(&rest.iter().map(|r| r.span).collect::>()), diff --git a/crates/nu-cmd-lang/src/core_commands/use_.rs b/crates/nu-cmd-lang/src/core_commands/use_.rs index cbcef1b769..d6ea0c08b3 100644 --- a/crates/nu-cmd-lang/src/core_commands/use_.rs +++ b/crates/nu-cmd-lang/src/core_commands/use_.rs @@ -45,13 +45,10 @@ impl Command for Use { call: &Call, input: PipelineData, ) -> Result { - let import_pattern = if let Some(Expression { - expr: Expr::ImportPattern(pat), + let Some(Expression { + expr: Expr::ImportPattern(import_pattern), .. - }) = call.get_parser_info("import_pattern") - { - pat - } else { + }) = call.get_parser_info("import_pattern") else { return Err(ShellError::GenericError( "Unexpected import".into(), "import pattern not supported".into(), diff --git a/crates/nu-engine/src/column.rs b/crates/nu-engine/src/column.rs index 4f4336fc14..6d4fa29984 100644 --- a/crates/nu-engine/src/column.rs +++ b/crates/nu-engine/src/column.rs @@ -5,14 +5,14 @@ pub fn get_columns<'a>(input: impl IntoIterator) -> Vec Type { } pub fn parse_import_pattern(working_set: &mut StateWorkingSet, spans: &[Span]) -> Expression { - let head_span = if let Some(head_span) = spans.get(0) { - head_span - } else { + let Some(head_span) = spans.get(0) else { working_set.error(ParseError::WrongImportPattern(span(spans))); return garbage(span(spans)); }; diff --git a/crates/nu-protocol/src/value/range.rs b/crates/nu-protocol/src/value/range.rs index 36ea9870ef..b3f1099076 100644 --- a/crates/nu-protocol/src/value/range.rs +++ b/crates/nu-protocol/src/value/range.rs @@ -213,9 +213,7 @@ impl Iterator for RangeIterator { self.curr.partial_cmp(&self.end) }; - let ordering = if let Some(ord) = ordering { - ord - } else { + let Some(ordering) = ordering else { self.done = true; return Some(Value::Error { error: Box::new(ShellError::CannotCreateRange { span: self.span }),