aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-03-07 23:16:38 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-03-07 23:28:11 +0100
commite39ff44d87fbbd04bad6b28a7ce3a4c1147547cb (patch)
tree94c68f553f872fcfb2748f2a1ca500fd1cd501c9 /src
parentad0618e8d1f81d98cd6228ab365186dad560d3c9 (diff)
downloadsylt-e39ff44d87fbbd04bad6b28a7ce3a4c1147547cb.tar.gz
skip indexing into tuples when type checking
Diffstat (limited to 'src')
-rw-r--r--src/vm.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vm.rs b/src/vm.rs
index 7cfc8d3..6b69b3c 100644
--- a/src/vm.rs
+++ b/src/vm.rs
@@ -717,6 +717,14 @@ impl VM {
};
}
+ Op::Index => {
+ // We don't have any information about the slot and the indexable might contain
+ // mixed types.
+ self.stack.pop().unwrap(); // indexable
+ self.stack.pop().unwrap(); // slot
+ self.stack.push(Value::Unknown);
+ }
+
Op::Call(num_args) => {
let new_base = self.stack.len() - 1 - num_args;
match self.stack[new_base].clone() {