diff --git a/pumpkin-solver/src/propagators/nogoods/nogood_propagator.rs b/pumpkin-solver/src/propagators/nogoods/nogood_propagator.rs index e9c3e840..9195a66a 100644 --- a/pumpkin-solver/src/propagators/nogoods/nogood_propagator.rs +++ b/pumpkin-solver/src/propagators/nogoods/nogood_propagator.rs @@ -1362,6 +1362,15 @@ impl NogoodPropagator { id: nogood.0 as u32, }; + if nogood.1.is_deleted { + // If the clause is deleted then it will have no watchers + assert!( + !is_watching(nogood.1.predicates[0], nogood_id) + && !is_watching(nogood.1.predicates[1], nogood_id) + ); + continue; + } + if !(is_watching(nogood.1.predicates[0], nogood_id) && is_watching(nogood.1.predicates[1], nogood_id)) {