From 10bc804a01e56549aaf804675193456432dbea32 Mon Sep 17 00:00:00 2001 From: Sofia Date: Sat, 21 Mar 2026 15:17:16 +0200 Subject: [PATCH] Make tables indexable --- src/vm/value.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vm/value.rs b/src/vm/value.rs index 6fb6bbd..5eb65ad 100644 --- a/src/vm/value.rs +++ b/src/vm/value.rs @@ -125,7 +125,8 @@ impl Debug for Constant { } } -pub type Table = Rc>>; +pub type Table = Rc>; +pub type TableMap = HashMap; #[derive(Clone)] pub enum Value { @@ -151,7 +152,7 @@ impl Value { } Value::Function(closure) => Ok(IndexableValue::Function(closure.prototype)), Value::Nil => Err(RuntimeError::InvalidTableIndex(self)), - Value::Table { .. } => Err(RuntimeError::InvalidTableIndex(self)), + Value::Table { contents, .. } => Ok(IndexableValue::Table(contents.as_ptr())), } } @@ -621,6 +622,7 @@ pub enum IndexableValue { Bool(LuaBool), RustFunction(String), Function(u32), + Table(*mut TableMap), } impl From<&str> for IndexableValue {