From a2f6da9a77c57be055c23133e86728c5d832c3d1 Mon Sep 17 00:00:00 2001 From: Tim de Jager Date: Tue, 30 Jan 2024 15:59:20 +0100 Subject: [PATCH] feat: continue on unknown depencies --- src/solver/mod.rs | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/solver/mod.rs b/src/solver/mod.rs index 5f1b813..9e792c9 100644 --- a/src/solver/mod.rs +++ b/src/solver/mod.rs @@ -215,19 +215,13 @@ impl> Sol // Exclusions are negative assertions, tracked outside of the watcher system self.negative_assertions.push((solvable_id, clause_id)); - // There might be a conflict now - let conflicts = if self.decision_tracker.assigned_value(solvable_id) - == Some(true) - { - vec![clause_id] - } else { - Vec::new() - }; - - // The new assertion should be kept in all cases (it is returned in the - // lhs of the tuple), and a conflicts should be reported if present (rhs - // of the tuple) - return Ok((vec![clause_id], conflicts)); + new_clauses.push(clause_id); + + if self.decision_tracker.assigned_value(solvable_id) == Some(true) { + conflicting_clauses.push(clause_id); + } + + continue; } } }