From ac74dc3a2bbc205711b076a66c426f529185563f Mon Sep 17 00:00:00 2001 From: eldritch horrors Date: Sun, 17 Nov 2024 14:43:57 +0100 Subject: [PATCH] treewide: drop trivial leaf virtual inheritance this does nothing on classes that are never used as base classes and have only a single base class of their own. all of these classes are also made final to prove that they are indeed in this category. once we need to derive any of them we can erase their `final` specifiers. Change-Id: I4bd8e50a58815227392b5a5a762fda4542d15bae --- lix/libcmd/repl-interacter.hh | 4 ++-- lix/libstore/build/local-derivation-goal.cc | 2 +- lix/libstore/dummy-store.cc | 4 ++-- lix/libstore/http-binary-cache-store.cc | 4 ++-- lix/libstore/legacy-ssh-store.cc | 2 +- lix/libstore/local-binary-cache-store.cc | 4 ++-- lix/libstore/local-store.hh | 2 +- lix/libstore/s3-binary-cache-store.cc | 2 +- lix/libstore/ssh-store.cc | 2 +- lix/nix/config.cc | 2 +- lix/nix/derivation.cc | 2 +- lix/nix/realisation.cc | 2 +- lix/nix/registry.cc | 2 +- lix/nix/store.cc | 2 +- 14 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lix/libcmd/repl-interacter.hh b/lix/libcmd/repl-interacter.hh index 970368ec0..d3d7578d0 100644 --- a/lix/libcmd/repl-interacter.hh +++ b/lix/libcmd/repl-interacter.hh @@ -32,7 +32,7 @@ public: virtual ~ReplInteracter(){}; }; -class ReadlineLikeInteracter : public virtual ReplInteracter +class ReadlineLikeInteracter final : public ReplInteracter { std::string historyFile; public: @@ -50,7 +50,7 @@ public: virtual ~ReadlineLikeInteracter() override; }; -class AutomationInteracter : public virtual ReplInteracter +class AutomationInteracter final : public ReplInteracter { public: AutomationInteracter() = default; diff --git a/lix/libstore/build/local-derivation-goal.cc b/lix/libstore/build/local-derivation-goal.cc index d9d08082e..89ebc816d 100644 --- a/lix/libstore/build/local-derivation-goal.cc +++ b/lix/libstore/build/local-derivation-goal.cc @@ -966,7 +966,7 @@ bool LocalDerivationGoal::isAllowed(const DerivedPath & req) } -struct RestrictedStoreConfig : virtual LocalFSStoreConfig +struct RestrictedStoreConfig final : LocalFSStoreConfig { using LocalFSStoreConfig::LocalFSStoreConfig; const std::string name() override { return "Restricted Store"; } diff --git a/lix/libstore/dummy-store.cc b/lix/libstore/dummy-store.cc index 97fb484c4..caf333d80 100644 --- a/lix/libstore/dummy-store.cc +++ b/lix/libstore/dummy-store.cc @@ -3,7 +3,7 @@ namespace nix { -struct DummyStoreConfig : virtual StoreConfig { +struct DummyStoreConfig final : StoreConfig { using StoreConfig::StoreConfig; const std::string name() override { return "Dummy Store"; } @@ -16,7 +16,7 @@ struct DummyStoreConfig : virtual StoreConfig { } }; -struct DummyStore : public virtual Store +struct DummyStore final : public Store { DummyStoreConfig config_; diff --git a/lix/libstore/http-binary-cache-store.cc b/lix/libstore/http-binary-cache-store.cc index c4f1922e7..3ed5dac01 100644 --- a/lix/libstore/http-binary-cache-store.cc +++ b/lix/libstore/http-binary-cache-store.cc @@ -8,7 +8,7 @@ namespace nix { MakeError(UploadToHTTP, Error); -struct HttpBinaryCacheStoreConfig : virtual BinaryCacheStoreConfig +struct HttpBinaryCacheStoreConfig final : BinaryCacheStoreConfig { using BinaryCacheStoreConfig::BinaryCacheStoreConfig; @@ -22,7 +22,7 @@ struct HttpBinaryCacheStoreConfig : virtual BinaryCacheStoreConfig } }; -class HttpBinaryCacheStore : public virtual BinaryCacheStore +class HttpBinaryCacheStore final : public BinaryCacheStore { private: diff --git a/lix/libstore/legacy-ssh-store.cc b/lix/libstore/legacy-ssh-store.cc index e9fbf543d..3c36fefe6 100644 --- a/lix/libstore/legacy-ssh-store.cc +++ b/lix/libstore/legacy-ssh-store.cc @@ -44,7 +44,7 @@ struct LegacySSHStoreConfigWithLog : LegacySSHStoreConfig const Setting logFD{this, -1, "log-fd", "file descriptor to which SSH's stderr is connected"}; }; -struct LegacySSHStore : public virtual Store +struct LegacySSHStore final : public Store { LegacySSHStoreConfigWithLog config_; diff --git a/lix/libstore/local-binary-cache-store.cc b/lix/libstore/local-binary-cache-store.cc index 9772289bf..008f56ef6 100644 --- a/lix/libstore/local-binary-cache-store.cc +++ b/lix/libstore/local-binary-cache-store.cc @@ -7,7 +7,7 @@ namespace nix { -struct LocalBinaryCacheStoreConfig : virtual BinaryCacheStoreConfig +struct LocalBinaryCacheStoreConfig final : BinaryCacheStoreConfig { using BinaryCacheStoreConfig::BinaryCacheStoreConfig; @@ -21,7 +21,7 @@ struct LocalBinaryCacheStoreConfig : virtual BinaryCacheStoreConfig } }; -class LocalBinaryCacheStore : public virtual BinaryCacheStore +class LocalBinaryCacheStore final : public BinaryCacheStore { private: diff --git a/lix/libstore/local-store.hh b/lix/libstore/local-store.hh index 81ae6f573..7ea86e1e0 100644 --- a/lix/libstore/local-store.hh +++ b/lix/libstore/local-store.hh @@ -37,7 +37,7 @@ struct OptimiseStats uint64_t blocksFreed = 0; }; -struct LocalStoreConfig : virtual LocalFSStoreConfig +struct LocalStoreConfig final : LocalFSStoreConfig { using LocalFSStoreConfig::LocalFSStoreConfig; diff --git a/lix/libstore/s3-binary-cache-store.cc b/lix/libstore/s3-binary-cache-store.cc index 2cf6bac27..eb2927d44 100644 --- a/lix/libstore/s3-binary-cache-store.cc +++ b/lix/libstore/s3-binary-cache-store.cc @@ -184,7 +184,7 @@ S3Helper::FileTransferResult S3Helper::getObject( return res; } -struct S3BinaryCacheStoreConfig : virtual BinaryCacheStoreConfig +struct S3BinaryCacheStoreConfig final : BinaryCacheStoreConfig { using BinaryCacheStoreConfig::BinaryCacheStoreConfig; diff --git a/lix/libstore/ssh-store.cc b/lix/libstore/ssh-store.cc index 65bb28ddb..2c76cb707 100644 --- a/lix/libstore/ssh-store.cc +++ b/lix/libstore/ssh-store.cc @@ -27,7 +27,7 @@ struct SSHStoreConfig : virtual RemoteStoreConfig, virtual CommonSSHStoreConfig } }; -class SSHStore : public virtual RemoteStore +class SSHStore final : public RemoteStore { SSHStoreConfig config_; diff --git a/lix/nix/config.cc b/lix/nix/config.cc index 5f744e9ec..6448af184 100644 --- a/lix/nix/config.cc +++ b/lix/nix/config.cc @@ -7,7 +7,7 @@ using namespace nix; -struct CmdConfig : virtual MultiCommand +struct CmdConfig final : MultiCommand { CmdConfig() : MultiCommand(RegisterCommand::getCommandsFor({"config"})) { } diff --git a/lix/nix/derivation.cc b/lix/nix/derivation.cc index 8df5e64c6..5d0f4c2bb 100644 --- a/lix/nix/derivation.cc +++ b/lix/nix/derivation.cc @@ -2,7 +2,7 @@ using namespace nix; -struct CmdDerivation : virtual MultiCommand +struct CmdDerivation final : MultiCommand { CmdDerivation() : MultiCommand(RegisterCommand::getCommandsFor({"derivation"})) { } diff --git a/lix/nix/realisation.cc b/lix/nix/realisation.cc index 80308e99f..4d02ca136 100644 --- a/lix/nix/realisation.cc +++ b/lix/nix/realisation.cc @@ -5,7 +5,7 @@ using namespace nix; -struct CmdRealisation : virtual MultiCommand +struct CmdRealisation final : MultiCommand { CmdRealisation() : MultiCommand(RegisterCommand::getCommandsFor({"realisation"})) { } diff --git a/lix/nix/registry.cc b/lix/nix/registry.cc index 5bdba362b..80fd83760 100644 --- a/lix/nix/registry.cc +++ b/lix/nix/registry.cc @@ -204,7 +204,7 @@ struct CmdRegistryPin : RegistryCommand, EvalCommand } }; -struct CmdRegistry : virtual MultiCommand +struct CmdRegistry final : MultiCommand { CmdRegistry() : MultiCommand({ diff --git a/lix/nix/store.cc b/lix/nix/store.cc index 00f980088..599f544d1 100644 --- a/lix/nix/store.cc +++ b/lix/nix/store.cc @@ -2,7 +2,7 @@ using namespace nix; -struct CmdStore : virtual MultiCommand +struct CmdStore final : MultiCommand { CmdStore() : MultiCommand(RegisterCommand::getCommandsFor({"store"})) { }