From a45bd0301a20b1eca5754b1bfca0012d376d532f Mon Sep 17 00:00:00 2001 From: JT <547158+jntrnr@users.noreply.github.com> Date: Fri, 12 May 2023 05:10:54 +0200 Subject: [PATCH] remove a few unnecessary allocations (#9176) # Description Change the parser a little bit so it does less allocations when it's parsing, specifically when parsing lists/tables # User-Facing Changes # Tests + Formatting # After Submitting --- crates/nu-parser/src/parser.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/crates/nu-parser/src/parser.rs b/crates/nu-parser/src/parser.rs index 3028853e4b..05134945cd 100644 --- a/crates/nu-parser/src/parser.rs +++ b/crates/nu-parser/src/parser.rs @@ -4006,11 +4006,8 @@ pub fn parse_table_expression( } => { let mut table_headers = vec![]; - let headers = parse_value( - working_set, - command.parts[0], - &SyntaxShape::List(Box::new(SyntaxShape::Any)), - ); + let headers = + parse_list_expression(working_set, command.parts[0], &SyntaxShape::Any); if let Expression { expr: Expr::List(headers), @@ -4028,11 +4025,8 @@ pub fn parse_table_expression( } => { let mut rows = vec![]; for part in &command.parts { - let values = parse_value( - working_set, - *part, - &SyntaxShape::List(Box::new(SyntaxShape::Any)), - ); + let values = + parse_list_expression(working_set, *part, &SyntaxShape::Any); if let Expression { expr: Expr::List(values), span,