3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-12 03:45:38 +00:00

Refactor SMT core: use structured bindings for enode_pair access (#8427)

* Initial plan

* Refactor SMT core to use C++17 structured bindings for enode pairs

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Use const& in structured bindings to avoid copying

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Refactor variable unpacking in DEBUG_CODE

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Copilot 2026-01-29 19:01:49 -08:00 committed by Nikolaj Bjorner
parent 3c34c5c4d7
commit 78381bb285
4 changed files with 16 additions and 14 deletions

View file

@ -201,9 +201,9 @@ namespace smt {
js->get_antecedents(*this);
}
while (!m_todo_eqs.empty()) {
enode_pair p = m_todo_eqs.back();
auto [n1, n2] = m_todo_eqs.back();
m_todo_eqs.pop_back();
eq2literals(p.first, p.second);
eq2literals(n1, n2);
}
if (m_todo_js_qhead == m_todo_js.size()) {
m_antecedents = nullptr;