diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-01-15 14:46:44 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-01-15 16:58:08 +0100 |
| commit | 7a8af511ce36e102275242b9d7ff70bb0c5c8955 (patch) | |
| tree | dce4ef323071da5c1f27323ce0272b12982a66e1 /src | |
| parent | 08ac58c0de3c1caf9a398027fb8fcda343a447cc (diff) | |
| download | sylt-7a8af511ce36e102275242b9d7ff70bb0c5c8955.tar.gz | |
fix tests
Diffstat (limited to 'src')
| -rw-r--r-- | src/typer.rs | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/typer.rs b/src/typer.rs index 7040bb2..59eefe8 100644 --- a/src/typer.rs +++ b/src/typer.rs @@ -67,13 +67,13 @@ impl VM { fn pop_twice(&mut self) -> (Type, Type) { let len = self.stack.len(); - let res = (self.stack[len-2].clone(), self.stack[len-1].clone()); + let res = (self.stack[len - 2].clone(), self.stack[len - 1].clone()); self.stack.truncate(len - 2); res } fn peek_up(&self, amount: usize) -> Type { - self.stack[self.stack.len() - amount].clone() + self.stack[self.stack.len() - 1 - amount].clone() } fn frame(&self) -> &Frame { @@ -300,13 +300,6 @@ impl VM { return Ok(()); } - match self.frame().block.ops[self.frame().ip - 2] { - Op::Return => { - continue; - } - _ => {} - } - let a = self.stack.pop().unwrap_or(Type::NoType); if a != return_type { error!(self, ErrorKind::TypeError(op, vec![a, return_type.clone()]), "Not matching return type."); |
