From a44024b04a8c1b6cb9dce66b2f752e577f87a8ad Mon Sep 17 00:00:00 2001 From: Shautvast Date: Fri, 5 Dec 2025 20:35:33 +0100 Subject: [PATCH] bugfix --- src/builtins/list.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/builtins/list.rs b/src/builtins/list.rs index d2d430f..18f812a 100644 --- a/src/builtins/list.rs +++ b/src/builtins/list.rs @@ -49,8 +49,12 @@ pub(crate) fn list_functions() -> FunctionMap { fn remove(mut self_val: RefMut, mut args: Vec) -> Result { if let Value::List(list) = self_val.deref_mut() { - list.remove(args.remove(0).cast_usize()?); - Ok(Value::Void) + let index= args.remove(0).cast_usize()?; + if index >= list.len() { + return Err(RuntimeError::IndexOutOfBounds(index, list.len())); + } + list.remove(index); + Ok(self_val.deref().clone()) } else { Err(expected_a_list()) } @@ -59,7 +63,7 @@ fn remove(mut self_val: RefMut, mut args: Vec) -> Result, mut args: Vec) -> Result { if let Value::List(list) = self_val.deref_mut() { list.push(args.remove(0)); - Ok(Value::Void) + Ok(self_val.deref().clone()) } else { Err(expected_a_list()) }