From ed73899ad49db44171e26a4cfe3f200f354836cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Riegel?= Date: Sun, 30 Mar 2025 18:18:54 +0200 Subject: [PATCH] use find instead of for loop --- .../src/conversions/into/datetime.rs | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/crates/nu-command/src/conversions/into/datetime.rs b/crates/nu-command/src/conversions/into/datetime.rs index 4171d16dd6..6cff1c09d5 100644 --- a/crates/nu-command/src/conversions/into/datetime.rs +++ b/crates/nu-command/src/conversions/into/datetime.rs @@ -497,21 +497,22 @@ fn action(input: &Value, args: &Arguments, head: Span) -> Value { } fn merge_record(record: &Record, head: Span, span: Span) -> Value { - for key in record.columns() { - if !ALLOWED_COLUMNS.contains(&key.as_str()) { - let allowed_cols = ALLOWED_COLUMNS.join(", "); - return Value::error(ShellError::UnsupportedInput { - msg: format!( - "Column '{key}' is not valid for a structured datetime. Allowed columns are: {allowed_cols}" - ), - input: "value originates from here".into(), - msg_span: head, - input_span: span - }, - span, - ); - } - } + if let Some(invalid_col) = record + .columns() + .find(|key| !ALLOWED_COLUMNS.contains(&key.as_str())) + { + let allowed_cols = ALLOWED_COLUMNS.join(", "); + return Value::error(ShellError::UnsupportedInput { + msg: format!( + "Column '{invalid_col}' is not valid for a structured datetime. Allowed columns are: {allowed_cols}" + ), + input: "value originates from here".into(), + msg_span: head, + input_span: span + }, + span, + ); + }; let nanosecond = match parse_value_from_record_as_u32("nanosecond", 0, record, &head, &span) { Ok(value) => value, @@ -698,7 +699,7 @@ fn parse_timezone_from_record( Ok(offset) } other => { - return Err(Value::error( + Err(Value::error( ShellError::OnlySupportsThisInputType { exp_input_type: "string".to_string(), wrong_type: other.get_type().to_string(), @@ -706,7 +707,7 @@ fn parse_timezone_from_record( src_span: other.span(), }, *span, - )); + )) } }, None => Ok(FixedOffset::east_opt(0).unwrap()),