diff --git a/src/build/opcode/mod.rs b/src/build/opcode/mod.rs index b555a77..e98c8d1 100644 --- a/src/build/opcode/mod.rs +++ b/src/build/opcode/mod.rs @@ -109,8 +109,7 @@ pub enum Op { // Spacer operation, Does nothing. Noop, // Pending Computation - // TODO(jwall): This is unnecessary. Remove it. - InitThunk(usize), + InitThunk(i32), // Basically just used for module return expressions Module(usize), Func(usize), Return, @@ -178,8 +177,7 @@ impl<'a> VM<'a> { Op::Cp => self.op_copy()?, //TODO(jwall): Should this take a user provided message? Op::Bang => return dbg!(Err(Error {})), - // TODO(jwall): Remove this - Op::InitThunk(jp) => self.op_thunk(idx, *jp as i32)?, + Op::InitThunk(jp) => self.op_thunk(idx, *jp)?, Op::Noop => { // Do nothing } diff --git a/src/build/opcode/test.rs b/src/build/opcode/test.rs index f3bbb79..2de60fc 100644 --- a/src/build/opcode/test.rs +++ b/src/build/opcode/test.rs @@ -20,7 +20,7 @@ use super::Op::{ Val, }; use super::Primitive::{Bool, Float, Int, Str}; -use super::Value::{C, P, T}; +use super::Value::{C, P}; use super::VM; macro_rules! assert_cases { @@ -407,13 +407,13 @@ fn test_select_short_circuit() { Sym("field".to_owned()), // 0 // search field Sym("not_field".to_owned()), // 1 // first field to compare JumpIfNotEqual(2), // 2 - Val(Str("not our value".to_owned())), // 3 + Val(Str("not our value".to_owned())), // 3 // expression for first field Jump(4), // 4 Sym("field".to_owned()), // 5 // second field to compare JumpIfNotEqual(2), // 6 - Val(Int(1)), // 7 + Val(Int(1)), // 7 // expression for second field Jump(1), // 8 - Bang, // 9 + Bang, // 9 // default case ] => P(Int(1)), ]; }