Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMartin Hořeňovský2024-04-08 13:57:53 +0200
committerMartin Hořeňovský2024-04-08 13:57:59 +0200
commitcd8f97e6c7f6aaf332992f83bf9d7ee7f357f85e (patch)
tree8766b7ba59e10699f4bc01ec7ac21284e6d8b7af
parent05fb437cbbf60de794a7101c5e6ef8f650755ce4 (diff)
downloadcatch3-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.cpp2
-rw-r--r--src/catch2/internal/catch_test_case_registry_impl.hpp2
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`.