diff --git a/src/protocol/eval/executor.rs b/src/protocol/eval/executor.rs index 51fd02d09163c89b2881c71691a6931795858990..610e58090392659f40c6b10c781a3d93fb55c371 100644 --- a/src/protocol/eval/executor.rs +++ b/src/protocol/eval/executor.rs @@ -203,8 +203,8 @@ pub enum EvalContinuation { SyncBlockEnd, NewFork, BlockFires(PortId), - BlockGet(PortId), - Put(PortId, ValueGroup), + BlockGet(ExpressionId, PortId), + Put(ExpressionId, PortId, ValueGroup), SelectStart(u32, u32), // (num_cases, num_ports_total) SelectRegisterPort(u32, u32, PortId), // (case_index, port_index_in_case, port_id) SelectWait, // wait until select can continue @@ -630,7 +630,7 @@ impl Prompt { // get run again after we've received a message. cur_frame.expr_values.push_front(value.clone()); cur_frame.expr_stack.push_back(ExprInstruction::EvalExpr(expr_id)); - return Ok(EvalContinuation::BlockGet(port_id)); + return Ok(EvalContinuation::BlockGet(expr_id, port_id)); } } }, @@ -657,7 +657,7 @@ impl Prompt { cur_frame.expr_values.push_front(port_value); cur_frame.expr_stack.push_back(ExprInstruction::EvalExpr(expr_id)); let value_group = ValueGroup::from_store(&self.store, &[deref_msg_value]); - return Ok(EvalContinuation::Put(port_id, value_group)); + return Ok(EvalContinuation::Put(expr_id, port_id, value_group)); } }, Method::Fires => {