From 7a8af511ce36e102275242b9d7ff70bb0c5c8955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Fri, 15 Jan 2021 14:46:44 +0100 Subject: fix tests --- src/typer.rs | 11 ++--------- 1 file 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."); -- cgit v1.2.1