diff --git a/src/protocol/mod.rs b/src/protocol/mod.rs index c52236eeb8caad4696d3a66ec68d878d32918c8a..87fa277bad3bfc9d4ed0b3c8ea381e10d7033a43 100644 --- a/src/protocol/mod.rs +++ b/src/protocol/mod.rs @@ -342,12 +342,11 @@ impl EvalContext<'_> { unreachable!(); } Value::Input(port) => { - let heap_pos = store.alloc_heap(); - let heap_pos_usize = heap_pos as usize; - let payload = context.read_msg(port); if payload.is_none() { return None; } + let heap_pos = store.alloc_heap(); + let heap_pos_usize = heap_pos as usize; let payload = payload.unwrap(); store.heap_regions[heap_pos_usize].values.reserve(payload.0.len()); for value in payload.0.iter() {