refactor(tvix/libutil): Mark single-argument constructors explicit

This is the clang-tidy lint 'google-explicit-constructor'.

There's a whole bunch of breakage that was introduced by this, and we
had to opt out a few types of this (esp. the string formatting crap).

In some cases minor other changes have been done to keep the code
working, instead of converting between types (e.g. an explicit
comparison operator implementation for nix::Pid).

Change-Id: I12e1ca51a6bc2c882dba81a2526b9729d26988e7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1832
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: glittershark <grfn@gws.fyi>
This commit is contained in:
Vincent Ambo 2020-08-21 04:00:55 +01:00 committed by tazjin
parent 1443298657
commit 1cf11317ca
34 changed files with 309 additions and 272 deletions

View file

@ -45,7 +45,7 @@ PathFilter defaultPathFilter = [](const Path& /*unused*/) { return true; };
static void dumpContents(const Path& path, size_t size, Sink& sink) {
sink << "contents" << size;
AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_CLOEXEC);
AutoCloseFD fd(open(path.c_str(), O_RDONLY | O_CLOEXEC));
if (!fd) {
throw SysError(format("opening file '%1%'") % path);
}
@ -334,7 +334,8 @@ struct RestoreSink : ParseSink {
void createRegularFile(const Path& path) override {
Path p = dstPath + path;
fd = open(p.c_str(), O_CREAT | O_EXCL | O_WRONLY | O_CLOEXEC, 0666);
fd = AutoCloseFD(
open(p.c_str(), O_CREAT | O_EXCL | O_WRONLY | O_CLOEXEC, 0666));
if (!fd) {
throw SysError(format("creating file '%1%'") % p);
}