3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-06 22:23:22 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-06-03 10:12:49 -07:00
parent 6e47499e26
commit 38176256c4

View file

@ -322,18 +322,19 @@ namespace datalog {
if (!m_ctx.array_blast ()) { if (!m_ctx.array_blast ()) {
return nullptr; return nullptr;
} }
rule_set* rules = alloc(rule_set, m_ctx); scoped_ptr<rule_set> rules = alloc(rule_set, m_ctx);
rules->inherit_predicates(source); rules->inherit_predicates(source);
rule_set::iterator it = source.begin(), end = source.end(); rule_set::iterator it = source.begin(), end = source.end();
bool change = false; bool change = false;
for (; !m_ctx.canceled() && it != end; ++it) { for (rule* r : source) {
change = blast(**it, *rules) || change; if (m_ctx.canceled())
return nullptr;
change = blast(*r, *rules) || change;
} }
if (!change) { if (!change) {
dealloc(rules);
rules = nullptr; rules = nullptr;
} }
return rules; return rules.detach();
} }
}; };