diff --git a/src/nlsat/nlsat_solver.cpp b/src/nlsat/nlsat_solver.cpp index 6a656b46d..b68e642bc 100644 --- a/src/nlsat/nlsat_solver.cpp +++ b/src/nlsat/nlsat_solver.cpp @@ -347,6 +347,10 @@ namespace nlsat { undo_until_size(0); del_clauses(); del_unref_atoms(); + m_cache.reset(); + m_assignment.reset(); + m_lo.reset(); + m_hi.reset(); } void checkpoint() { diff --git a/src/util/scoped_numeral_vector.h b/src/util/scoped_numeral_vector.h index b5cfb69cb..44e625550 100644 --- a/src/util/scoped_numeral_vector.h +++ b/src/util/scoped_numeral_vector.h @@ -28,7 +28,7 @@ public: _scoped_numeral_vector(const _scoped_numeral_vector & other) : m_manager(other.m_manager) { for (unsigned i = 0, e = other.size(); i != e; ++i) { - push_back((*this)[i]); + push_back(other[i]); } }