Remove 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.
This commit is contained in:
Chris Thrasher 2023-12-28 16:39:19 -06:00 committed by Martin Hořeňovský
parent d79bfa05c7
commit 05786fa7ec
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
8 changed files with 0 additions and 32 deletions

View File

@ -7304,12 +7304,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,
@ -10707,8 +10701,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;
@ -13376,8 +13368,6 @@ namespace Catch {
public:
JunitReporter(ReporterConfig&& _config);
~JunitReporter() override = default;
static std::string getDescription();
void testRunStarting(TestRunInfo const& runInfo) override;
@ -13618,8 +13608,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;
@ -13666,7 +13654,6 @@ namespace Catch {
StreamingReporterBase( CATCH_MOVE(config) ) {
m_preferences.shouldReportAllAssertions = true;
}
~TAPReporter() override = default;
static std::string getDescription() {
using namespace std::string_literals;

View File

@ -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,

View File

@ -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; }
};

View File

@ -38,7 +38,6 @@ namespace Catch {
TrackerContext& ctx,
ITracker* parent ):
TrackerBase( CATCH_MOVE( nameAndLocation ), ctx, parent ) {}
~GeneratorTracker() override = default;
static GeneratorTracker*
acquire( TrackerContext& ctx,

View File

@ -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;

View File

@ -19,8 +19,6 @@ namespace Catch {
public:
JunitReporter(ReporterConfig&& _config);
~JunitReporter() override = default;
static std::string getDescription();
void testRunStarting(TestRunInfo const& runInfo) override;

View File

@ -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;

View File

@ -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;