From b9710f5de083e8205dbb51921f43d96b17fd43cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Tue, 12 Jan 2021 23:35:18 +0100 Subject: vm takes &Block --- src/vm.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/vm.rs') diff --git a/src/vm.rs b/src/vm.rs index 4c09756..44a5829 100644 --- a/src/vm.rs +++ b/src/vm.rs @@ -130,14 +130,14 @@ impl Block { } #[derive(Debug)] -pub struct VM { +pub struct VM<'a> { stack: Vec, - block: Block, + block: &'a Block, ip: usize, } -pub fn run_block(block: Block) -> Result<(), Error> { +pub fn run_block<'a> (block: &'a Block) -> Result<(), Error> { let mut vm = VM { stack: Vec::new(), @@ -148,7 +148,7 @@ pub fn run_block(block: Block) -> Result<(), Error> { vm.run() } -impl VM { +impl VM<'_> { fn pop_twice(&mut self) -> (Value, Value) { let len = self.stack.len(); let res = (self.stack[len-2].clone(), self.stack[len-1].clone()); -- cgit v1.2.1