From 88f337588c9f1a41ac67b3afb8d43f124b4d153b Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 19 May 2020 22:02:23 +0100 Subject: refactor(3p/nix): Make all single-argument constructors explicit Implicit constructors can be confusing, especially in a codebase that is already as unintentionally obfuscated as this one. https://google.github.io/styleguide/cppguide.html#Explicit_Constructors --- third_party/nix/src/libstore/build.cc | 22 +++++++++++----------- third_party/nix/src/libstore/export-import.cc | 2 +- third_party/nix/src/libstore/gc.cc | 2 +- third_party/nix/src/libstore/local-fs-store.cc | 2 +- third_party/nix/src/libstore/misc.cc | 2 +- third_party/nix/src/libstore/nar-accessor.cc | 2 +- third_party/nix/src/libstore/optimise-store.cc | 2 +- third_party/nix/src/libstore/remote-store.cc | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) (limited to 'third_party/nix/src/libstore') diff --git a/third_party/nix/src/libstore/build.cc b/third_party/nix/src/libstore/build.cc index b1f63a4fac76..3349e1e8c8e9 100644 --- a/third_party/nix/src/libstore/build.cc +++ b/third_party/nix/src/libstore/build.cc @@ -133,7 +133,7 @@ class Goal : public std::enable_shared_from_this { /* Whether the goal is finished. */ ExitCode exitCode; - Goal(Worker& worker) : worker(worker) { + explicit Goal(Worker& worker) : worker(worker) { nrFailed = nrNoSubstituters = nrIncompleteClosure = 0; exitCode = ecBusy; } @@ -264,7 +264,7 @@ class Worker { it answers with "decline-permanently", we don't try again. */ bool tryBuildHook = true; - Worker(LocalStore& store); + explicit Worker(LocalStore& store); ~Worker(); /* Make a goal (with caching). */ @@ -823,7 +823,7 @@ class DerivationGoal : public Goal { struct ChrootPath { Path source; bool optional; - ChrootPath(Path source = "", bool optional = false) + explicit ChrootPath(Path source = "", bool optional = false) : source(source), optional(optional) {} }; typedef map @@ -2037,12 +2037,12 @@ void DerivationGoal::startBuilder() { } size_t p = i.find('='); if (p == string::npos) { - dirsInChroot[i] = {i, optional}; + dirsInChroot[i] = ChrootPath(i, optional); } else { - dirsInChroot[string(i, 0, p)] = {string(i, p + 1), optional}; + dirsInChroot[string(i, 0, p)] = ChrootPath(string(i, p + 1), optional); } } - dirsInChroot[tmpDirInSandbox] = tmpDir; + dirsInChroot[tmpDirInSandbox] = ChrootPath(tmpDir); /* Add the closure of store paths to the chroot. */ PathSet closure; @@ -2058,7 +2058,7 @@ void DerivationGoal::startBuilder() { } } for (auto& i : closure) { - dirsInChroot[i] = i; + dirsInChroot[i] = ChrootPath(i); } PathSet allowedPaths = settings.allowedImpureHostPrefixes; @@ -2088,7 +2088,7 @@ void DerivationGoal::startBuilder() { drvPath % i); } - dirsInChroot[i] = i; + dirsInChroot[i] = ChrootPath(i); } #if __linux__ @@ -2170,7 +2170,7 @@ void DerivationGoal::startBuilder() { throw SysError(format("getting attributes of path '%1%'") % i); } if (S_ISDIR(st.st_mode)) { - dirsInChroot[i] = r; + dirsInChroot[i] = ChrootPath(r); } else { Path p = chrootRootDir + i; DLOG(INFO) << "linking '" << p << "' to '" << r << "'"; @@ -2264,9 +2264,9 @@ void DerivationGoal::startBuilder() { } else { auto p = line.find('='); if (p == string::npos) { - dirsInChroot[line] = line; + dirsInChroot[line] = ChrootPath(line); } else { - dirsInChroot[string(line, 0, p)] = string(line, p + 1); + dirsInChroot[string(line, 0, p)] = ChrootPath(string(line, p + 1)); } } } diff --git a/third_party/nix/src/libstore/export-import.cc b/third_party/nix/src/libstore/export-import.cc index 6a1862492d1f..d50638d5b0f7 100644 --- a/third_party/nix/src/libstore/export-import.cc +++ b/third_party/nix/src/libstore/export-import.cc @@ -9,7 +9,7 @@ namespace nix { struct HashAndWriteSink : Sink { Sink& writeSink; HashSink hashSink; - HashAndWriteSink(Sink& writeSink) + explicit HashAndWriteSink(Sink& writeSink) : writeSink(writeSink), hashSink(htSHA256) {} virtual void operator()(const unsigned char* data, size_t len) { writeSink(data, len); diff --git a/third_party/nix/src/libstore/gc.cc b/third_party/nix/src/libstore/gc.cc index 3e79e6c336aa..2241c58c419c 100644 --- a/third_party/nix/src/libstore/gc.cc +++ b/third_party/nix/src/libstore/gc.cc @@ -505,7 +505,7 @@ struct LocalStore::GCState { unsigned long long bytesInvalidated; bool moveToTrash = true; bool shouldDelete; - GCState(GCResults& results_) : results(results_), bytesInvalidated(0) {} + explicit GCState(GCResults& results_) : results(results_), bytesInvalidated(0) {} }; bool LocalStore::isActiveTempFile(const GCState& state, const Path& path, diff --git a/third_party/nix/src/libstore/local-fs-store.cc b/third_party/nix/src/libstore/local-fs-store.cc index bc282eac96b9..f3ac5b3663ff 100644 --- a/third_party/nix/src/libstore/local-fs-store.cc +++ b/third_party/nix/src/libstore/local-fs-store.cc @@ -12,7 +12,7 @@ LocalFSStore::LocalFSStore(const Params& params) : Store(params) {} struct LocalStoreAccessor : public FSAccessor { ref store; - LocalStoreAccessor(ref store) : store(store) {} + explicit LocalStoreAccessor(ref store) : store(store) {} Path toRealPath(const Path& path) { Path storePath = store->toStorePath(path); diff --git a/third_party/nix/src/libstore/misc.cc b/third_party/nix/src/libstore/misc.cc index a82fc1251c56..0ef0e559876d 100644 --- a/third_party/nix/src/libstore/misc.cc +++ b/third_party/nix/src/libstore/misc.cc @@ -151,7 +151,7 @@ void Store::queryMissing(const PathSet& targets, PathSet& willBuild_, size_t left; bool done = false; PathSet outPaths; - DrvState(size_t left) : left(left) {} + explicit DrvState(size_t left) : left(left) {} }; Sync state_(State{PathSet(), unknown_, willSubstitute_, willBuild_, diff --git a/third_party/nix/src/libstore/nar-accessor.cc b/third_party/nix/src/libstore/nar-accessor.cc index 8be22ada2e36..ffbf7c1a89d5 100644 --- a/third_party/nix/src/libstore/nar-accessor.cc +++ b/third_party/nix/src/libstore/nar-accessor.cc @@ -93,7 +93,7 @@ struct NarAccessor : public FSAccessor { } }; - NarAccessor(ref nar) : nar(nar) { + explicit NarAccessor(ref nar) : nar(nar) { NarIndexer indexer(*this, *nar); parseDump(indexer, indexer); } diff --git a/third_party/nix/src/libstore/optimise-store.cc b/third_party/nix/src/libstore/optimise-store.cc index 8c0f24d382bd..7febe1b145f7 100644 --- a/third_party/nix/src/libstore/optimise-store.cc +++ b/third_party/nix/src/libstore/optimise-store.cc @@ -27,7 +27,7 @@ static void makeWritable(const Path& path) { struct MakeReadOnly { Path path; - MakeReadOnly(const Path& path) : path(path) {} + explicit MakeReadOnly(const Path& path) : path(path) {} ~MakeReadOnly() { try { /* This will make the path read-only. */ diff --git a/third_party/nix/src/libstore/remote-store.cc b/third_party/nix/src/libstore/remote-store.cc index b0025df98f5b..e1fcb749a3fe 100644 --- a/third_party/nix/src/libstore/remote-store.cc +++ b/third_party/nix/src/libstore/remote-store.cc @@ -215,7 +215,7 @@ struct ConnectionHandle { Pool::Handle handle; bool daemonException = false; - ConnectionHandle(Pool::Handle&& handle) + explicit ConnectionHandle(Pool::Handle&& handle) : handle(std::move(handle)) {} ConnectionHandle(ConnectionHandle&& h) : handle(std::move(h.handle)) {} -- cgit 1.4.1