diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index cf3908949..147fb36ea 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -1239,7 +1239,7 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec during destruction of objects when the invariant does not need to hold. */ - void assert_invariant(bool check_parents = true) const noexcept try + void assert_invariant(bool check_parents = true) const noexcept { JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr); JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr); @@ -1247,16 +1247,19 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr); #if JSON_DIAGNOSTICS - // cppcheck-suppress assertWithSideEffect - JSON_ASSERT(!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j) + JSON_TRY { - return j.m_parent == this; - })); + // cppcheck-suppress assertWithSideEffect + JSON_ASSERT(!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j) + { + return j.m_parent == this; + })); + } + JSON_CATCH(...) {} #else static_cast(check_parents); #endif } - catch (...) {} void set_parents() { diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index def56bb87..3760063b8 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -18052,7 +18052,7 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec during destruction of objects when the invariant does not need to hold. */ - void assert_invariant(bool check_parents = true) const noexcept try + void assert_invariant(bool check_parents = true) const noexcept { JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr); JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr); @@ -18060,16 +18060,19 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr); #if JSON_DIAGNOSTICS - // cppcheck-suppress assertWithSideEffect - JSON_ASSERT(!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j) + JSON_TRY { - return j.m_parent == this; - })); + // cppcheck-suppress assertWithSideEffect + JSON_ASSERT(!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j) + { + return j.m_parent == this; + })); + } + JSON_CATCH(...) {} #else static_cast(check_parents); #endif } - catch (...) {} void set_parents() {