From 5ad3bfa31bc731e467c66e5e55ffb6bcb89b49db Mon Sep 17 00:00:00 2001 From: nibon7 Date: Mon, 4 Sep 2023 15:42:31 +0800 Subject: [PATCH] Auto format let-else block (#10214) # Description rustfmt 1.6.0 has added support for formatting [let-else statements](https://doc.rust-lang.org/rust-by-example/flow_control/let_else.html) See https://github.com/rust-lang/rustfmt/blob/master/CHANGELOG.md#added # User-Facing Changes # Tests + Formatting # After Submitting --- crates/nu-cmd-lang/src/core_commands/match_.rs | 5 +++-- crates/nu-cmd-lang/src/core_commands/use_.rs | 3 ++- crates/nu-command/src/strings/parse.rs | 14 ++++++++------ crates/nu-parser/src/parse_keywords.rs | 2 +- crates/nu-parser/src/parser.rs | 15 +++++++++++---- crates/nu-protocol/src/value/range.rs | 5 +++-- 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/crates/nu-cmd-lang/src/core_commands/match_.rs b/crates/nu-cmd-lang/src/core_commands/match_.rs index 26deb0cce9..c999cb6802 100644 --- a/crates/nu-cmd-lang/src/core_commands/match_.rs +++ b/crates/nu-cmd-lang/src/core_commands/match_.rs @@ -53,8 +53,9 @@ impl Command for Match { } let guard_matches = if let Some(guard) = &match_.0.guard { - let Value::Bool { val, .. } = eval_expression(engine_state, stack, guard)? else { - return Err(ShellError::MatchGuardNotBool { span: guard.span}); + let Value::Bool { val, .. } = eval_expression(engine_state, stack, guard)? + else { + return Err(ShellError::MatchGuardNotBool { span: guard.span }); }; val diff --git a/crates/nu-cmd-lang/src/core_commands/use_.rs b/crates/nu-cmd-lang/src/core_commands/use_.rs index d8f4f8689e..cf8860ec98 100644 --- a/crates/nu-cmd-lang/src/core_commands/use_.rs +++ b/crates/nu-cmd-lang/src/core_commands/use_.rs @@ -52,7 +52,8 @@ This command is a parser keyword. For details, check: let Some(Expression { expr: Expr::ImportPattern(import_pattern), .. - }) = call.get_parser_info("import_pattern") 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-command/src/strings/parse.rs b/crates/nu-command/src/strings/parse.rs index 6e25bb7614..7ffbdbde32 100644 --- a/crates/nu-command/src/strings/parse.rs +++ b/crates/nu-command/src/strings/parse.rs @@ -339,17 +339,19 @@ impl Iterator for ParseStreamer { } } - let Some(v) = self.stream.next() else { return None }; + let Some(v) = self.stream.next() else { + return None; + }; let Ok(s) = v.as_string() else { - return Some(Value::error ( + return Some(Value::error( ShellError::PipelineMismatch { exp_input_type: "string".into(), dst_span: self.span, src_span: v.span(), }, - v.span(), - )) + v.span(), + )); }; let parsed = stream_helper( @@ -412,8 +414,8 @@ impl Iterator for ParseStreamerExternal { dst_span: self.span, src_span: self.span, }, - self.span, - )) + self.span, + )); }; stream_helper( diff --git a/crates/nu-parser/src/parse_keywords.rs b/crates/nu-parser/src/parse_keywords.rs index 892312cd8d..253c965df7 100644 --- a/crates/nu-parser/src/parse_keywords.rs +++ b/crates/nu-parser/src/parse_keywords.rs @@ -3510,7 +3510,7 @@ pub fn parse_register(working_set: &mut StateWorkingSet, spans: &[Span]) -> Pipe value_as_string(val, expr.span).map_err(|err| err.wrap(working_set, call.head))?; let Some(path) = find_in_dirs(&filename, working_set, &cwd, PLUGIN_DIRS_VAR) else { - return Err(ParseError::RegisteredFileNotFound(filename, expr.span)) + return Err(ParseError::RegisteredFileNotFound(filename, expr.span)); }; if path.exists() && path.is_file() { diff --git a/crates/nu-parser/src/parser.rs b/crates/nu-parser/src/parser.rs index 7729feebdd..b73a75f1fd 100644 --- a/crates/nu-parser/src/parser.rs +++ b/crates/nu-parser/src/parser.rs @@ -2822,7 +2822,7 @@ fn parse_collection_shape( while idx < tokens.len() { let TokenContents::Item = tokens[idx].contents else { working_set.error(key_error(tokens[idx].span)); - return mk_shape(vec![]) + return mk_shape(vec![]); }; let key_bytes = working_set.get_span_contents(tokens[idx].span).to_vec(); @@ -2831,7 +2831,9 @@ fn parse_collection_shape( continue; } - let Some(key) = parse_value(working_set, tokens[idx].span, &SyntaxShape::String).as_string() else { + let Some(key) = + parse_value(working_set, tokens[idx].span, &SyntaxShape::String).as_string() + else { working_set.error(key_error(tokens[idx].span)); return mk_shape(vec![]); }; @@ -4026,7 +4028,11 @@ fn parse_table_expression(working_set: &mut StateWorkingSet, span: Span) -> Expr } let head = { - let Expression { expr: Expr::List(vals), .. } = head else { + let Expression { + expr: Expr::List(vals), + .. + } = head + else { unreachable!("head must be a list by now") }; @@ -4058,7 +4064,8 @@ fn parse_table_expression(working_set: &mut StateWorkingSet, span: Span) -> Expr expr: Expr::List(item), span, .. - } = ls else { + } = ls + else { unreachable!("the item must be a list") }; diff --git a/crates/nu-protocol/src/value/range.rs b/crates/nu-protocol/src/value/range.rs index d7e957277b..dd16910d5e 100644 --- a/crates/nu-protocol/src/value/range.rs +++ b/crates/nu-protocol/src/value/range.rs @@ -210,9 +210,10 @@ impl Iterator for RangeIterator { self.curr.partial_cmp(&self.end) }; - let Some(ordering) = ordering else { + let Some(ordering) = ordering else { self.done = true; - return Some(Value::error(ShellError::CannotCreateRange { span: self.span }, + return Some(Value::error( + ShellError::CannotCreateRange { span: self.span }, self.span, )); };