diff options
| author | Martin Hořeňovský | 2024-04-08 13:57:53 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2024-04-08 13:57:59 +0200 |
| commit | cd8f97e6c7f6aaf332992f83bf9d7ee7f357f85e (patch) | |
| tree | 8766b7ba59e10699f4bc01ec7ac21284e6d8b7af | |
| parent | 05fb437cbbf60de794a7101c5e6ef8f650755ce4 (diff) | |
| download | catch3-cd8f97e6c7f6aaf332992f83bf9d7ee7f357f85e.tar.gz | |
Explicitly outline TestRegistry destructor into .cpp file
This fixes compilation issue with C++23 mode against libstdc++.
Closes #2852
| -rw-r--r-- | src/catch2/internal/catch_test_case_registry_impl.cpp | 2 | ||||
| -rw-r--r-- | src/catch2/internal/catch_test_case_registry_impl.hpp | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/catch2/internal/catch_test_case_registry_impl.cpp b/src/catch2/internal/catch_test_case_registry_impl.cpp index c2b052da..e77e7bce 100644 --- a/src/catch2/internal/catch_test_case_registry_impl.cpp +++ b/src/catch2/internal/catch_test_case_registry_impl.cpp @@ -123,6 +123,8 @@ namespace Catch { return getRegistryHub().getTestCaseRegistry().getAllTestsSorted( config ); } + TestRegistry::~TestRegistry() = default; + void TestRegistry::registerTest(Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker) { m_handles.emplace_back(testInfo.get(), testInvoker.get()); m_viewed_test_infos.push_back(testInfo.get()); diff --git a/src/catch2/internal/catch_test_case_registry_impl.hpp b/src/catch2/internal/catch_test_case_registry_impl.hpp index 99a38498..fbca89f9 100644 --- a/src/catch2/internal/catch_test_case_registry_impl.hpp +++ b/src/catch2/internal/catch_test_case_registry_impl.hpp @@ -36,6 +36,8 @@ namespace Catch { std::vector<TestCaseHandle> const& getAllTests() const override; std::vector<TestCaseHandle> const& getAllTestsSorted( IConfig const& config ) const override; + ~TestRegistry() override; // = default + private: std::vector<Detail::unique_ptr<TestCaseInfo>> m_owned_test_infos; // Keeps a materialized vector for `getAllInfos`. |