From a23d2b78849ae2fe3f6bae674380d93092cbe952 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 24 Apr 2026 21:07:11 +0000 Subject: [PATCH] simplify: replace custom reset_unsafe RAII struct with on_scope_exit In solve_eqs::reduce(), the hand-rolled reset_unsafe struct was the only user-visible pattern in the codebase for scope-exit cleanup. Replace it with the project's existing on_scope_exit<> utility from util/util.h (already available via transitive includes), which is designed exactly for this purpose. Behavior is identical. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/ast/simplifiers/solve_eqs.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/ast/simplifiers/solve_eqs.cpp b/src/ast/simplifiers/solve_eqs.cpp index ccbfb550a..0cdb5de69 100644 --- a/src/ast/simplifiers/solve_eqs.cpp +++ b/src/ast/simplifiers/solve_eqs.cpp @@ -244,12 +244,7 @@ namespace euf { unsigned count = 0; vector old_fmls; dep_eq_vector eqs; - struct reset_unsafe { - solve_eqs& s; - reset_unsafe(solve_eqs& s): s(s) {} - ~reset_unsafe() { s.m_unsafe_vars.reset(); } - }; - reset_unsafe ru(*this); + auto _reset_unsafe = on_scope_exit([&]() { m_unsafe_vars.reset(); }); do { old_fmls.reset(); m_subst_ids.reset();