diff --git a/src/runtime/actors.rs b/src/runtime/actors.rs index bb402ce1bf5db6f999db1e2072a20671ea22097d..bf56da5fc034ebaac67ffcfc63822ba84468b629 100644 --- a/src/runtime/actors.rs +++ b/src/runtime/actors.rs @@ -137,10 +137,28 @@ impl PolyP { continue 'to_run_loop; } } - Some(false) => assert!(!fired), + Some(false) => { + if fired { + println!( + "pred {:#?} in {:#?} out {:#?}", + &predicate, + branch.inbox.get(ekey), + branch.outbox.get(ekey) + ); + panic!("channel_id {:?} fired (based on outbox/inbox) but the predicate had Some(false)!" ,channel_id) + } + } None => { predicate.replace_assignment(channel_id, false); - assert!(!fired) + if fired { + println!( + "pred {:#?} in {:#?} out {:#?}", + &predicate, + branch.inbox.get(ekey), + branch.outbox.get(ekey) + ); + panic!("channel_id {:?} fired (based on outbox/inbox) but the predicate had None!" ,channel_id) + } } } }