mirror of
https://github.com/Z3Prover/z3
synced 2026-07-15 03:25:43 +00:00
fix propagation of failure
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
f30650b4b4
commit
1c11526d64
2 changed files with 3 additions and 4 deletions
|
|
@ -90,7 +90,7 @@ struct split_set::iterator::imp {
|
|||
next();
|
||||
}
|
||||
if (b_it.failed() || a_it.failed())
|
||||
parent().m_failure = true;
|
||||
parent().set_failure();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -206,8 +206,6 @@ struct split_set::iterator::imp {
|
|||
}
|
||||
|
||||
void consume() override {
|
||||
if (at_end())
|
||||
return;
|
||||
while (!parent().has_split() && !at_end() && !a_it.failed() && !b_it.failed()) {
|
||||
if (a_it == a_end) {
|
||||
auto [p, q] = *b_it;
|
||||
|
|
@ -335,6 +333,7 @@ struct split_set::iterator::imp {
|
|||
}
|
||||
|
||||
void unfold(expr* r) {
|
||||
TRACE(seq, tout << "unfold " << mk_pp(r, m) << "\n");
|
||||
SASSERT(seq.is_re(r));
|
||||
if (re.is_empty(r))
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -523,7 +523,7 @@ namespace smt {
|
|||
if (re().is_empty(q)) {
|
||||
enode_pair_vector eqs;
|
||||
literal_vector lits;
|
||||
lits.push_back(~lit);
|
||||
lits.push_back(lit);
|
||||
th.set_conflict(eqs, lits);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue