From 93ed36787d8171dca66003b24c614a4f76e26b6b Mon Sep 17 00:00:00 2001 From: Micha Reiser Date: Thu, 25 May 2023 12:23:06 +0200 Subject: [PATCH] Avoid removing elements from the beginning of a vec --- parser/src/python.lalrpop | 8 ++++---- parser/src/python.rs | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 3de5197d..f1f28d3a 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -114,11 +114,11 @@ ExpressionStatement: ast::Stmt = { let mut targets = vec![set_context(expression, ast::ExprContext::Store)]; let mut values = suffix; - while values.len() > 1 { - targets.push(set_context(values.remove(0), ast::ExprContext::Store)); - } + let value = Box::new(values.pop().unwrap()); - let value = Box::new(values.into_iter().next().unwrap()); + for target in values { + targets.push(set_context(target, ast::ExprContext::Store)); + } ast::Stmt::Assign( ast::StmtAssign { targets, value, type_comment: None, range: (location..end_location).into() } diff --git a/parser/src/python.rs b/parser/src/python.rs index 6441474f..3202a3ac 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: a33e9abb4be2a3730161519ce0f298452edbc50335b9e0c812d5a1730f1d8816 +// sha3: 978b442f9e59b7597dbf53a952a1528232a8ad35ee3a9c9cae78d3d3234a5abe use crate::{ ast::{self as ast, Ranged}, lexer::{LexicalError, LexicalErrorType}, @@ -28915,11 +28915,11 @@ fn __action24< let mut targets = vec![set_context(expression, ast::ExprContext::Store)]; let mut values = suffix; - while values.len() > 1 { - targets.push(set_context(values.remove(0), ast::ExprContext::Store)); - } + let value = Box::new(values.pop().unwrap()); - let value = Box::new(values.into_iter().next().unwrap()); + for target in values { + targets.push(set_context(target, ast::ExprContext::Store)); + } ast::Stmt::Assign( ast::StmtAssign { targets, value, type_comment: None, range: (location..end_location).into() }