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

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChris Thrasher2023-12-28 16:39:19 -0600
committerChris Thrasher2023-12-30 18:56:54 -0700
commita5245ac76b18beae4a5b6ed62bbf4ae0194b457c (patch)
tree306b4c0ea51ca9661a391756d1243236e3b21fca
parentb7b71ffd3a2a659412357964e91ee7db954e28df (diff)
downloadcatch3-remove_redundant_destructors.tar.gz
Remove redundant destructorsremove_redundant_destructors
Classes will automatically inherit the virtual-ness of their base class destructors. If the base class already has a virtual destructor and the derived class needs default destructor semantics then the derived class can omit defining the destructor in favor of the compiler automatically defining it. This has an additional benefit of reenabling move semantics. The presence of a user-specified destructor automatically disables move operations.
-rw-r--r--extras/catch_amalgamated.hpp13
-rw-r--r--src/catch2/generators/catch_generators.hpp6
-rw-r--r--src/catch2/internal/catch_istream.cpp5
-rw-r--r--src/catch2/internal/catch_run_context.cpp1
-rw-r--r--src/catch2/internal/catch_test_case_registry_impl.hpp2
-rw-r--r--src/catch2/reporters/catch_reporter_junit.hpp2
-rw-r--r--src/catch2/reporters/catch_reporter_sonarqube.hpp2
-rw-r--r--src/catch2/reporters/catch_reporter_tap.hpp1
8 files changed, 0 insertions, 32 deletions
diff --git a/extras/catch_amalgamated.hpp b/extras/catch_amalgamated.hpp
index bec588d4..7a6953ca 100644
--- a/extras/catch_amalgamated.hpp
+++ b/extras/catch_amalgamated.hpp
@@ -7391,12 +7391,6 @@ namespace Detail {
}
public:
- ~IGenerator() override = default;
- IGenerator() = default;
- IGenerator(IGenerator const&) = default;
- IGenerator& operator=(IGenerator const&) = default;
-
-
// Returns the current element of the generator
//
// \Precondition The generator is either freshly constructed,
@@ -10662,8 +10656,6 @@ namespace Catch {
class TestRegistry : public ITestCaseRegistry {
public:
- ~TestRegistry() override = default;
-
void registerTest( Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker );
std::vector<TestCaseInfo*> const& getAllInfos() const override;
@@ -13312,8 +13304,6 @@ namespace Catch {
public:
JunitReporter(ReporterConfig&& _config);
- ~JunitReporter() override = default;
-
static std::string getDescription();
void testRunStarting(TestRunInfo const& runInfo) override;
@@ -13554,8 +13544,6 @@ namespace Catch {
m_shouldStoreSuccesfulAssertions = false;
}
- ~SonarQubeReporter() override = default;
-
static std::string getDescription() {
using namespace std::string_literals;
return "Reports test results in the Generic Test Data SonarQube XML format"s;
@@ -13602,7 +13590,6 @@ namespace Catch {
StreamingReporterBase( CATCH_MOVE(config) ) {
m_preferences.shouldReportAllAssertions = true;
}
- ~TAPReporter() override = default;
static std::string getDescription() {
using namespace std::string_literals;
diff --git a/src/catch2/generators/catch_generators.hpp b/src/catch2/generators/catch_generators.hpp
index 117f1901..0f35a996 100644
--- a/src/catch2/generators/catch_generators.hpp
+++ b/src/catch2/generators/catch_generators.hpp
@@ -37,12 +37,6 @@ namespace Detail {
}
public:
- ~IGenerator() override = default;
- IGenerator() = default;
- IGenerator(IGenerator const&) = default;
- IGenerator& operator=(IGenerator const&) = default;
-
-
// Returns the current element of the generator
//
// \Precondition The generator is either freshly constructed,
diff --git a/src/catch2/internal/catch_istream.cpp b/src/catch2/internal/catch_istream.cpp
index bf0f66e4..2867ce74 100644
--- a/src/catch2/internal/catch_istream.cpp
+++ b/src/catch2/internal/catch_istream.cpp
@@ -80,7 +80,6 @@ namespace Detail {
CATCH_ENFORCE( !m_ofs.fail(), "Unable to open file: '" << filename << '\'' );
m_ofs << std::unitbuf;
}
- ~FileStream() override = default;
public: // IStream
std::ostream& stream() override {
return m_ofs;
@@ -95,7 +94,6 @@ namespace Detail {
// Store the streambuf from cout up-front because
// cout may get redirected when running tests
CoutStream() : m_os( Catch::cout().rdbuf() ) {}
- ~CoutStream() override = default;
public: // IStream
std::ostream& stream() override { return m_os; }
@@ -109,7 +107,6 @@ namespace Detail {
// Store the streambuf from cerr up-front because
// cout may get redirected when running tests
CerrStream(): m_os( Catch::cerr().rdbuf() ) {}
- ~CerrStream() override = default;
public: // IStream
std::ostream& stream() override { return m_os; }
@@ -127,8 +124,6 @@ namespace Detail {
m_os( m_streamBuf.get() )
{}
- ~DebugOutStream() override = default;
-
public: // IStream
std::ostream& stream() override { return m_os; }
};
diff --git a/src/catch2/internal/catch_run_context.cpp b/src/catch2/internal/catch_run_context.cpp
index e568100d..77b476d8 100644
--- a/src/catch2/internal/catch_run_context.cpp
+++ b/src/catch2/internal/catch_run_context.cpp
@@ -38,7 +38,6 @@ namespace Catch {
TrackerContext& ctx,
ITracker* parent ):
TrackerBase( CATCH_MOVE( nameAndLocation ), ctx, parent ) {}
- ~GeneratorTracker() override = default;
static GeneratorTracker*
acquire( TrackerContext& ctx,
diff --git a/src/catch2/internal/catch_test_case_registry_impl.hpp b/src/catch2/internal/catch_test_case_registry_impl.hpp
index a4a27ed1..99a38498 100644
--- a/src/catch2/internal/catch_test_case_registry_impl.hpp
+++ b/src/catch2/internal/catch_test_case_registry_impl.hpp
@@ -30,8 +30,6 @@ namespace Catch {
class TestRegistry : public ITestCaseRegistry {
public:
- ~TestRegistry() override = default;
-
void registerTest( Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker );
std::vector<TestCaseInfo*> const& getAllInfos() const override;
diff --git a/src/catch2/reporters/catch_reporter_junit.hpp b/src/catch2/reporters/catch_reporter_junit.hpp
index 87c7c567..7cb53c25 100644
--- a/src/catch2/reporters/catch_reporter_junit.hpp
+++ b/src/catch2/reporters/catch_reporter_junit.hpp
@@ -19,8 +19,6 @@ namespace Catch {
public:
JunitReporter(ReporterConfig&& _config);
- ~JunitReporter() override = default;
-
static std::string getDescription();
void testRunStarting(TestRunInfo const& runInfo) override;
diff --git a/src/catch2/reporters/catch_reporter_sonarqube.hpp b/src/catch2/reporters/catch_reporter_sonarqube.hpp
index cad6deec..d26af62e 100644
--- a/src/catch2/reporters/catch_reporter_sonarqube.hpp
+++ b/src/catch2/reporters/catch_reporter_sonarqube.hpp
@@ -25,8 +25,6 @@ namespace Catch {
m_shouldStoreSuccesfulAssertions = false;
}
- ~SonarQubeReporter() override = default;
-
static std::string getDescription() {
using namespace std::string_literals;
return "Reports test results in the Generic Test Data SonarQube XML format"s;
diff --git a/src/catch2/reporters/catch_reporter_tap.hpp b/src/catch2/reporters/catch_reporter_tap.hpp
index fe45df63..e6889bb1 100644
--- a/src/catch2/reporters/catch_reporter_tap.hpp
+++ b/src/catch2/reporters/catch_reporter_tap.hpp
@@ -19,7 +19,6 @@ namespace Catch {
StreamingReporterBase( CATCH_MOVE(config) ) {
m_preferences.shouldReportAllAssertions = true;
}
- ~TAPReporter() override = default;
static std::string getDescription() {
using namespace std::string_literals;