diff --git a/src/runtime/actors.rs b/src/runtime/actors.rs index 2302702f7bdb5602ab30406b9d2845b8ed1e06d2..157a440160a6049f915af2342f58892b125d799d 100644 --- a/src/runtime/actors.rs +++ b/src/runtime/actors.rs @@ -384,7 +384,11 @@ impl PolyN { decision: &Predicate, table_row: &mut HashMap, ) -> MonoN { - if let Some((_, branch)) = self.branches.drain().find(|(p, _)| decision.satisfies(p)) { + if let Some((_, branch)) = self + .branches + .drain() + .find(|(p, branch)| branch.to_get.is_empty() && decision.satisfies(p)) + { let BranchN { gotten, sync_batch_index, .. } = branch; for (&key, payload) in gotten.iter() { assert!(table_row.insert(key, payload.clone()).is_none());