From 74f53b444853850144c3e63593f83c424e84a768 Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Thu, 4 Jul 2024 11:21:11 +0200 Subject: Mark more constructors 'explicit' Since c++17 the 'explicit' keyword has use also for constructors with more than one argument and it is recommended to use it by default whereever implicit conversions are not expected bahaviour. --- src/buildtool/execution_api/common/blob_tree.hpp | 2 +- src/buildtool/execution_api/local/local_action.hpp | 15 ++++++++------- .../execution_api/remote/bazel/bazel_ac_client.hpp | 2 +- src/buildtool/execution_api/remote/bazel/bazel_action.hpp | 15 ++++++++------- .../execution_api/remote/bazel/bazel_cas_client.hpp | 2 +- .../execution_api/remote/bazel/bazel_execution_client.hpp | 3 ++- .../execution_api/remote/bazel/bazel_network.hpp | 8 ++++---- .../execution_api/remote/bazel/bazel_response.hpp | 6 +++--- .../execution_api/remote/bazel/bytestream_client.hpp | 2 +- 9 files changed, 29 insertions(+), 26 deletions(-) (limited to 'src/buildtool/execution_api') diff --git a/src/buildtool/execution_api/common/blob_tree.hpp b/src/buildtool/execution_api/common/blob_tree.hpp index ad462aab..25d0f560 100644 --- a/src/buildtool/execution_api/common/blob_tree.hpp +++ b/src/buildtool/execution_api/common/blob_tree.hpp @@ -33,7 +33,7 @@ using BlobTreePtr = gsl::not_null>; /// upload. class BlobTree { public: - BlobTree(ArtifactBlob blob, std::vector nodes) + explicit BlobTree(ArtifactBlob blob, std::vector nodes) : blob_{std::move(blob)}, nodes_{std::move(nodes)} {} [[nodiscard]] auto Blob() const noexcept -> ArtifactBlob { return blob_; } diff --git a/src/buildtool/execution_api/local/local_action.hpp b/src/buildtool/execution_api/local/local_action.hpp index 0fce3c35..b88b3a97 100644 --- a/src/buildtool/execution_api/local/local_action.hpp +++ b/src/buildtool/execution_api/local/local_action.hpp @@ -67,13 +67,14 @@ class LocalAction final : public IExecutionAction { std::chrono::milliseconds timeout_{kDefaultTimeout}; CacheFlag cache_flag_{CacheFlag::CacheOutput}; - LocalAction(gsl::not_null const& storage, - ArtifactDigest root_digest, - std::vector command, - std::vector output_files, - std::vector output_dirs, - std::map env_vars, - std::map const& properties) noexcept + explicit LocalAction( + gsl::not_null const& storage, + ArtifactDigest root_digest, + std::vector command, + std::vector output_files, + std::vector output_dirs, + std::map env_vars, + std::map const& properties) noexcept : storage_{storage}, root_digest_{std::move(root_digest)}, cmdline_{std::move(command)}, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp index 864d1254..8ec8b85f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp @@ -31,7 +31,7 @@ /// https://github.com/bazelbuild/remote-apis/blob/e1fe21be4c9ae76269a5a63215bb3c72ed9ab3f0/build/bazel/remote/execution/v2/remote_execution.proto#L144 class BazelAcClient { public: - BazelAcClient(std::string const& server, Port port) noexcept; + explicit BazelAcClient(std::string const& server, Port port) noexcept; [[nodiscard]] auto GetActionResult( std::string const& instance_name, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_action.hpp b/src/buildtool/execution_api/remote/bazel/bazel_action.hpp index 5abfe57b..58e5965f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_action.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_action.hpp @@ -50,13 +50,14 @@ class BazelAction final : public IExecutionAction { CacheFlag cache_flag_{CacheFlag::CacheOutput}; std::chrono::milliseconds timeout_{kDefaultTimeout}; - BazelAction(std::shared_ptr network, - bazel_re::Digest root_digest, - std::vector command, - std::vector output_files, - std::vector output_dirs, - std::map const& env_vars, - std::map const& properties) noexcept; + explicit BazelAction( + std::shared_ptr network, + bazel_re::Digest root_digest, + std::vector command, + std::vector output_files, + std::vector output_dirs, + std::map const& env_vars, + std::map const& properties) noexcept; [[nodiscard]] auto CreateBundlesForAction(BazelBlobContainer* blobs, bazel_re::Digest const& exec_dir, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp index 391de317..69ee45d4 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp @@ -37,7 +37,7 @@ /// https://github.com/bazelbuild/remote-apis/blob/e1fe21be4c9ae76269a5a63215bb3c72ed9ab3f0/build/bazel/remote/execution/v2/remote_execution.proto#L317 class BazelCasClient { public: - BazelCasClient(std::string const& server, Port port) noexcept; + explicit BazelCasClient(std::string const& server, Port port) noexcept; /// \brief Find missing blobs /// \param[in] instance_name Name of the CAS instance diff --git a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp index f2f25b71..cb933b99 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp @@ -54,7 +54,8 @@ class BazelExecutionClient { } }; - BazelExecutionClient(std::string const& server, Port port) noexcept; + explicit BazelExecutionClient(std::string const& server, + Port port) noexcept; [[nodiscard]] auto Execute(std::string const& instance_name, bazel_re::Digest const& action_digest, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.hpp b/src/buildtool/execution_api/remote/bazel/bazel_network.hpp index 853efa41..a55fa064 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_network.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_network.hpp @@ -35,10 +35,10 @@ /// \brief Contains all network clients and is responsible for all network IO. class BazelNetwork { public: - BazelNetwork(std::string instance_name, - std::string const& host, - Port port, - ExecutionConfiguration const& exec_config) noexcept; + explicit BazelNetwork(std::string instance_name, + std::string const& host, + Port port, + ExecutionConfiguration const& exec_config) noexcept; /// \brief Check if digest exists in CAS /// \param[in] digest The digest to look up diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.hpp b/src/buildtool/execution_api/remote/bazel/bazel_response.hpp index 41957255..30a70d7f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_response.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_response.hpp @@ -70,9 +70,9 @@ class BazelResponse final : public IExecutionResponse { DirSymlinks dir_symlinks_{}; bool populated_{false}; - BazelResponse(std::string action_id, - std::shared_ptr network, - BazelExecutionClient::ExecutionOutput output) + explicit BazelResponse(std::string action_id, + std::shared_ptr network, + BazelExecutionClient::ExecutionOutput output) : action_id_{std::move(action_id)}, network_{std::move(network)}, output_{std::move(output)} {} diff --git a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp index a6516e47..908f6e2a 100644 --- a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp @@ -80,7 +80,7 @@ class ByteStreamClient { } }; - ByteStreamClient(std::string const& server, Port port) noexcept { + explicit ByteStreamClient(std::string const& server, Port port) noexcept { stub_ = google::bytestream::ByteStream::NewStub( CreateChannelWithCredentials(server, port)); } -- cgit v1.2.3