nix-grpc-store-clang-tidy-0.1.0-beta.4
checks.x86_64-linux.clang-tidy
· build #558
· raw
1tribuchet: building on jamie
unpackPhase
2unpacking source archive /nix/store/dyq8rcqb3y33yzng7wafxas1m3s0hhz1-source3source root is sourceconfigurePhase
4mesonConfigurePhase flags: --prefix=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4 --libdir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/lib --libexecdir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/libexec --bindir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/bin --sbindir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/sbin --includedir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/include --mandir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/man --infodir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/info --localedir=/nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --buildtype=plain -Db_pch=false5The Meson build system6Version: 1.10.27Source dir: /build/source8Build dir: /build/source/build9Build type: native build10WARNING: Project does not target a minimum version but uses feature introduced in '1.1': meson.options file. Use meson_options.txt instead11Project name: nix-grpc-store12Project version: 0.1.0-beta.413C++ compiler for the host machine: clang++ (clang 22.1.8 "clang version 22.1.8")14C++ linker for the host machine: clang++ ld.bfd 2.4615Host machine cpu family: x86_6416Host machine cpu: x86_6417Found pkg-config: YES (/nix/store/29d1c5xk6w3rwl7yvdfwl90whslv5h54-pkg-config-wrapper-0.29.2/bin/pkg-config) 0.29.218Run-time dependency grpc++ found: YES 1.83.019Run-time dependency protobuf found: YES 36.1.020Run-time dependency libzstd found: YES 1.5.721Run-time dependency threads found: YES22Run-time dependency libcrypto found: YES 3.6.423Run-time dependency prometheus-cpp-core found: YES 1.3.024Run-time dependency prometheus-cpp-pull found: YES 1.3.025Run-time dependency absl_flat_hash_map found: YES 2026010726Run-time dependency absl_hash found: YES 2026010727Run-time dependency absl_synchronization found: YES 2026010728Compiler for C++ supports arguments -Werror=thread-safety: YES 29Run-time dependency jemalloc found: YES 5.3.1_030Run-time dependency nix-store found: YES 2.36.0pre20260920_5711f8fe31Run-time dependency nix-util found: YES 2.36.0pre20260920_5711f8fe32Run-time dependency libcurl found: YES 8.22.033Run-time dependency nlohmann_json found: YES 3.12.034Check usable header "jwt-cpp/traits/nlohmann-json/defaults.h" : YES 35Program protoc found: YES (/nix/store/4hdzvycn5mkg3xm1ggscp3mxz8005c3m-protobuf-36.1/bin/protoc)36Program grpc_cpp_plugin found: YES (/nix/store/n81x7qakspm4bnm9q8cjdgjvvx6h691v-grpc-1.83.0/bin/grpc_cpp_plugin)37Program mold found: YES (/nix/store/vfvfq1k7436b6sidk1246m72j6944kv7-mold-unwrapped-wrapper-2.42.1/bin/mold)38Run-time dependency dl found: YES39Program tests/farm-client-test.sh found: YES (/build/source/tests/farm-client-test.sh)40Program tests/oidc-test.sh found: YES (/build/source/tests/oidc-test.sh)41Build targets in project: 1342WARNING: Project specifies no minimum version but uses features which were added in versions:43 * 1.1: {'meson.options file'}4445nix-grpc-store 0.1.0-beta.44647 User defined options48 auto_features: enabled49 b_pch : false50 bindir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/bin51 buildtype : plain52 includedir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/include53 infodir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/info54 libdir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/lib55 libexecdir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/libexec56 localedir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/locale57 mandir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/man58 prefix : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.459 sbindir : /nix/store/ijgjpyraldzpqz8qab84vymm311zclaw-nix-grpc-store-clang-tidy-0.1.0-beta.4/sbin60 wrap_mode : nodownload6162Found ninja-1.13.2 at /nix/store/r8a159fqvj0mpczq0dq8d3dwdd2rsz8c-ninja-1.13.2/bin/ninja63mesonConfigurePhase: enabled\ parallel\ buildingbuildPhase
64[1/2] Generating eds_proto with a custom command65[2/2] Generating nix_remote_proto with a custom command66[0/1] /nix/store/jaa89dphx07w3r26y7gh79a7b1mld5p4-meson-1.10.2/bin/meson --internal clangtidy /build/source /build/source/build --color always67>>> /nix/store/xvjhx2zrkdnccqgf9wbmzlbqqjnbjqdk-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/tests/log-spill-test.cc68../src/daemon/log-spill.hh:25:7: error: class 'LogSpill' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions,-warnings-as-errors]69 25 | class LogSpill70 | ^71../src/daemon/log-spill.hh:38:24: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]72 38 | if (auto const fd = fd_.load(); fd >= 0) {73 | ^74../src/daemon/log-spill.hh:51:20: error: variable name 'at' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]75 51 | auto const at = written_.load(std::memory_order_relaxed);76 | ^77../src/daemon/log-spill.hh:61:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]78 61 | record[0] = static_cast<char>(kind);79 | ^~~80../src/daemon/log-spill.hh:63:35: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]81 63 | std::memcpy(record.data() + 1, &len, sizeof len);82 | ^83../src/daemon/log-spill.hh:78:37: error: forwarding reference parameter 'fn' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]84 78 | auto drain(size_t offset, Fn && fn) const -> size_t85 | ^86../src/daemon/log-spill.hh:78:37: error: parameter name 'fn' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]87../src/daemon/log-spill.hh:81:20: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]88 81 | auto const fd = fd_.load();89 | ^90../src/daemon/log-spill.hh:84:13: error: do not declare C-style arrays, use 'std::array' instead [cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays,-warnings-as-errors]91 84 | char header[kHeader];92 | ^~~~~~~~~~~~~~~~~~~~93../src/daemon/log-spill.hh:85:30: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]94 85 | if (!readAll(fd, header, kHeader, offset)) {95 | ^96../src/daemon/log-spill.hh:89:31: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]97 89 | std::memcpy(&len, header + 1, sizeof len);98 | ^99../src/daemon/log-spill.hh:89:38: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]100 89 | std::memcpy(&len, header + 1, sizeof len);101 | ^102../src/daemon/log-spill.hh:110:28: error: function is not thread safe [concurrency-mt-unsafe,-warnings-as-errors]103 110 | auto const * env = std::getenv("TMPDIR");104 | ^105../src/daemon/log-spill.hh:112:14: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]106 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);107 | ^108../src/daemon/log-spill.hh:112:19: error: do not call c-style vararg functions [cppcoreguidelines-pro-type-vararg,-warnings-as-errors]109 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);110 | ^111../src/daemon/log-spill.hh:112:71: error: 0600 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]112 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);113 | ^114../src/daemon/log-spill.hh:128:5: error: function 'writeAll' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors]115 128 | auto writeAll(const std::string & data, size_t offset) const -> bool116 | ^117 | [[nodiscard]] 118../src/daemon/log-spill.hh:132:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]119 132 | auto const n = ::pwrite(fd_.load(), data.data() + done, data.size() - done, static_cast<off_t>(offset + done));120 | ^121../src/daemon/log-spill.hh:132:61: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]122 132 | auto const n = ::pwrite(fd_.load(), data.data() + done, data.size() - done, static_cast<off_t>(offset + done));123 | ^124../src/daemon/log-spill.hh:144:29: error: parameter name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]125 144 | static auto readAll(int fd, char * buf, size_t len, size_t offset) -> bool126 | ^127../src/daemon/log-spill.hh:148:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]128 148 | auto const n = ::pread(fd, buf + done, len - done, static_cast<off_t>(offset + done));129 | ^130../src/daemon/log-spill.hh:148:44: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]131 148 | auto const n = ::pread(fd, buf + done, len - done, static_cast<off_t>(offset + done));132 | ^133../src/daemon/log-spill.hh:175:31: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]134 175 | std::condition_variable & cv,135 | ^136../src/daemon/log-spill.hh:178:18: error: forwarding reference parameter 'cancelled' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]137 178 | Cancelled && cancelled,138 | ^139../src/daemon/log-spill.hh:179:13: error: forwarding reference parameter 'emit' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]140 179 | Emit && emit) -> bool141 | ^142../src/daemon/log-spill.hh:195:16: error: 'wait_for' should be placed inside a while statement or used with a conditional parameter [bugprone-spuriously-wake-up-functions,cert-con36-c,cert-con54-cpp,-warnings-as-errors]143 195 | cv.wait_for(lock, poll);144 | ^145../tests/log-spill-test.cc:1:1: error: included header atomic is not used directly [misc-include-cleaner,-warnings-as-errors]146 1 | #include <atomic>147 | ^~~~~~~~~~~~~~~~~148 2 | #include <chrono>149../tests/log-spill-test.cc:16:13: error: function 'readAll' declared 'static', move to anonymous namespace instead [misc-use-anonymous-namespace,-warnings-as-errors]150 16 | static auto readAll(const LogSpill & spill) -> Records151 | ^152../tests/log-spill-test.cc:19:24: error: no header providing "uint8_t" is directly included [misc-include-cleaner,-warnings-as-errors]153 5 | #include <mutex>154 6 | #include <string>155 7 | #include <thread>156 8 | #include <utility>157 9 | #include <vector>158 10 | 159 11 | #include "log-spill.hh"160 12 | 161 13 | using nixgrpc::LogSpill;162 14 | using Records = std::vector<std::pair<int, std::string>>;163 15 | 164 16 | static auto readAll(const LogSpill & spill) -> Records165 17 | {166 18 | Records out;167 19 | spill.drain(0, [&](uint8_t kind, std::string_view text) -> void { out.emplace_back(kind, std::string(text)); });168 | ^169../tests/log-spill-test.cc:19:43: error: no header providing "std::string_view" is directly included [misc-include-cleaner,-warnings-as-errors]170 7 | #include <thread>171 8 | #include <utility>172 9 | #include <vector>173 10 | 174 11 | #include "log-spill.hh"175 12 | 176 13 | using nixgrpc::LogSpill;177 14 | using Records = std::vector<std::pair<int, std::string>>;178 15 | 179 16 | static auto readAll(const LogSpill & spill) -> Records180 17 | {181 18 | Records out;182 19 | spill.drain(0, [&](uint8_t kind, std::string_view text) -> void { out.emplace_back(kind, std::string(text)); });183 | ^184../tests/log-spill-test.cc:23:13: error: function 'follow' declared 'static', move to anonymous namespace instead [misc-use-anonymous-namespace,-warnings-as-errors]185 23 | static auto follow(LogSpill & spill, std::mutex & mutex, std::condition_variable & cv, const bool & finished) -> Records186 | ^187../tests/log-spill-test.cc:23:84: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]188 23 | static auto follow(LogSpill & spill, std::mutex & mutex, std::condition_variable & cv, const bool & finished) -> Records189 | ^190../tests/log-spill-test.cc:41:37: error: 300000 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]191 41 | spill.append(0, std::string(300000, 'x'));192 | ^193../tests/log-spill-test.cc:44:19: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]194 44 | assert(got[0] == std::make_pair(0, std::string("first")));195 | ^196/nix/store/lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert'197 100 | (static_cast <bool> (expr) \198 | ^~~~199../tests/log-spill-test.cc:45:19: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]200 45 | assert(got[1] == std::make_pair(1, std::string("build")));201 | ^202/nix/store/lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert'203 100 | (static_cast <bool> (expr) \204 | ^~~~205../tests/log-spill-test.cc:46:19: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]206 46 | assert(got[2].second.empty());207 | ^208/nix/store/lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert'209 100 | (static_cast <bool> (expr) \210 | ^~~~211../tests/log-spill-test.cc:47:19: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]212 47 | assert(got[3].second.size() == 300000);213 | ^214/nix/store/lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert'215 100 | (static_cast <bool> (expr) \216 | ^~~~217../tests/log-spill-test.cc:54:40: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]218 54 | assert(rest.size() == 1 && rest[0].second == "later");219 | ^220/nix/store/lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert'221 100 | (static_cast <bool> (expr) \222 | ^~~~223../tests/log-spill-test.cc:59:24: error: 64 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]224 59 | LogSpill spill(64);225 | ^226../tests/log-spill-test.cc:60:29: error: 50 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]227 60 | for (int i = 0; i < 50; i++) {228 | ^229../tests/log-spill-test.cc:75:33: error: variable name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]230 75 | std::condition_variable cv;231 | ^232../tests/log-spill-test.cc:80:21: error: variable name 't1' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]233 80 | std::thread t1([&] { early = follow(spill, mutex, cv, finished); });234 | ^235../tests/log-spill-test.cc:80:24: error: use a trailing return type for this lambda [modernize-use-trailing-return-type,-warnings-as-errors]236 80 | std::thread t1([&] { early = follow(spill, mutex, cv, finished); });237 | ^238 | -> void239../tests/log-spill-test.cc:81:27: error: use a trailing return type for this lambda [modernize-use-trailing-return-type,-warnings-as-errors]240 81 | std::thread owner([&] {241 | ^242 | -> void243../tests/log-spill-test.cc:91:34: error: 1000 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]244 91 | while (spill.written() < 1000) {245 | ^246../tests/log-spill-test.cc:94:21: error: variable name 't2' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]247 94 | std::thread t2([&] { late = follow(spill, mutex, cv, finished); });248 | ^249../tests/log-spill-test.cc:94:24: error: use a trailing return type for this lambda [modernize-use-trailing-return-type,-warnings-as-errors]250 94 | std::thread t2([&] { late = follow(spill, mutex, cv, finished); });251 | ^252 | -> void253../tests/log-spill-test.cc:101:30: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]254 101 | assert((*got)[static_cast<size_t>(i)].second == "line " + std::to_string(i));255 | ^256/nix/store/lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert'257 100 | (static_cast <bool> (expr) \258 | ^~~~259../tests/log-spill-test.cc:101:43: error: no header providing "size_t" is directly included [misc-include-cleaner,-warnings-as-errors]260 5 | assert((*got)[static_cast<size_t>(i)].second == "line " + std::to_string(i));261 | ^262../tests/log-spill-test.cc:110:33: error: variable name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]263 110 | std::condition_variable cv;264 | ^265>>> /nix/store/xvjhx2zrkdnccqgf9wbmzlbqqjnbjqdk-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/src/client/channel.cc266[1/1] (1/2) Processing file /build/source/src/client/channel.cc.267[1/1] (2/2) Processing file /build/source/src/client/channel.cc.268>>> /nix/store/xvjhx2zrkdnccqgf9wbmzlbqqjnbjqdk-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/src/daemon/coordinator.cc269../src/daemon/log-spill.hh:25:7: error: class 'LogSpill' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions,-warnings-as-errors]270 25 | class LogSpill271 | ^272../src/daemon/log-spill.hh:38:24: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]273 38 | if (auto const fd = fd_.load(); fd >= 0) {274 | ^275../src/daemon/log-spill.hh:51:20: error: variable name 'at' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]276 51 | auto const at = written_.load(std::memory_order_relaxed);277 | ^278../src/daemon/log-spill.hh:61:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]279 61 | record[0] = static_cast<char>(kind);280 | ^~~281../src/daemon/log-spill.hh:63:35: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]282 63 | std::memcpy(record.data() + 1, &len, sizeof len);283 | ^284../src/daemon/log-spill.hh:78:37: error: forwarding reference parameter 'fn' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]285 78 | auto drain(size_t offset, Fn && fn) const -> size_t286 | ^287../src/daemon/log-spill.hh:78:37: error: parameter name 'fn' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]288../src/daemon/log-spill.hh:81:20: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]289 81 | auto const fd = fd_.load();290 | ^291../src/daemon/log-spill.hh:84:13: error: do not declare C-style arrays, use 'std::array' instead [cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays,-warnings-as-errors]292 84 | char header[kHeader];293 | ^~~~~~~~~~~~~~~~~~~~294../src/daemon/log-spill.hh:85:30: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]295 85 | if (!readAll(fd, header, kHeader, offset)) {296 | ^297../src/daemon/log-spill.hh:89:31: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]298 89 | std::memcpy(&len, header + 1, sizeof len);299 | ^300../src/daemon/log-spill.hh:89:38: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]301 89 | std::memcpy(&len, header + 1, sizeof len);302 | ^303../src/daemon/log-spill.hh:110:28: error: function is not thread safe [concurrency-mt-unsafe,-warnings-as-errors]304 110 | auto const * env = std::getenv("TMPDIR");305 | ^306../src/daemon/log-spill.hh:112:14: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]307 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);308 | ^309../src/daemon/log-spill.hh:112:19: error: do not call c-style vararg functions [cppcoreguidelines-pro-type-vararg,-warnings-as-errors]310 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);311 | ^312../src/daemon/log-spill.hh:112:71: error: 0600 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]313 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);314 | ^315../src/daemon/log-spill.hh:128:5: error: function 'writeAll' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors]316 128 | auto writeAll(const std::string & data, size_t offset) const -> bool317 | ^318 | [[nodiscard]] 319../src/daemon/log-spill.hh:132:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]320 132 | auto const n = ::pwrite(fd_.load(), data.data() + done, data.size() - done, static_cast<off_t>(offset + done));321 | ^322../src/daemon/log-spill.hh:132:61: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]323 132 | auto const n = ::pwrite(fd_.load(), data.data() + done, data.size() - done, static_cast<off_t>(offset + done));324 | ^325../src/daemon/log-spill.hh:144:29: error: parameter name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]326 144 | static auto readAll(int fd, char * buf, size_t len, size_t offset) -> bool327 | ^328../src/daemon/log-spill.hh:148:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]329 148 | auto const n = ::pread(fd, buf + done, len - done, static_cast<off_t>(offset + done));330 | ^331../src/daemon/log-spill.hh:148:44: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]332 148 | auto const n = ::pread(fd, buf + done, len - done, static_cast<off_t>(offset + done));333 | ^334../src/daemon/log-spill.hh:175:31: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]335 175 | std::condition_variable & cv,336 | ^337../src/daemon/log-spill.hh:178:18: error: forwarding reference parameter 'cancelled' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]338 178 | Cancelled && cancelled,339 | ^340../src/daemon/log-spill.hh:179:13: error: forwarding reference parameter 'emit' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]341 179 | Emit && emit) -> bool342 | ^343../src/daemon/log-spill.hh:195:16: error: 'wait_for' should be placed inside a while statement or used with a conditional parameter [bugprone-spuriously-wake-up-functions,cert-con36-c,cert-con54-cpp,-warnings-as-errors]344 195 | cv.wait_for(lock, poll);345 | ^346>>> /nix/store/xvjhx2zrkdnccqgf9wbmzlbqqjnbjqdk-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/src/daemon/main.cc347Errors encountered while running clang-tidy348../src/daemon/log-spill.hh:25:7: error: class 'LogSpill' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions,-warnings-as-errors]349 25 | class LogSpill350 | ^351../src/daemon/log-spill.hh:38:24: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]352 38 | if (auto const fd = fd_.load(); fd >= 0) {353 | ^354../src/daemon/log-spill.hh:51:20: error: variable name 'at' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]355 51 | auto const at = written_.load(std::memory_order_relaxed);356 | ^357../src/daemon/log-spill.hh:61:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]358 61 | record[0] = static_cast<char>(kind);359 | ^~~360../src/daemon/log-spill.hh:63:35: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]361 63 | std::memcpy(record.data() + 1, &len, sizeof len);362 | ^363../src/daemon/log-spill.hh:78:37: error: forwarding reference parameter 'fn' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]364 78 | auto drain(size_t offset, Fn && fn) const -> size_t365 | ^366../src/daemon/log-spill.hh:78:37: error: parameter name 'fn' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]367../src/daemon/log-spill.hh:81:20: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]368 81 | auto const fd = fd_.load();369 | ^370../src/daemon/log-spill.hh:84:13: error: do not declare C-style arrays, use 'std::array' instead [cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays,-warnings-as-errors]371 84 | char header[kHeader];372 | ^~~~~~~~~~~~~~~~~~~~373../src/daemon/log-spill.hh:85:30: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]374 85 | if (!readAll(fd, header, kHeader, offset)) {375 | ^376../src/daemon/log-spill.hh:89:31: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]377 89 | std::memcpy(&len, header + 1, sizeof len);378 | ^379../src/daemon/log-spill.hh:89:38: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]380 89 | std::memcpy(&len, header + 1, sizeof len);381 | ^382../src/daemon/log-spill.hh:110:28: error: function is not thread safe [concurrency-mt-unsafe,-warnings-as-errors]383 110 | auto const * env = std::getenv("TMPDIR");384 | ^385../src/daemon/log-spill.hh:112:14: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]386 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);387 | ^388../src/daemon/log-spill.hh:112:19: error: do not call c-style vararg functions [cppcoreguidelines-pro-type-vararg,-warnings-as-errors]389 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);390 | ^391../src/daemon/log-spill.hh:112:71: error: 0600 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors]392 112 | auto fd = ::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600);393 | ^394../src/daemon/log-spill.hh:128:5: error: function 'writeAll' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors]395 128 | auto writeAll(const std::string & data, size_t offset) const -> bool396 | ^397 | [[nodiscard]] 398../src/daemon/log-spill.hh:132:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]399 132 | auto const n = ::pwrite(fd_.load(), data.data() + done, data.size() - done, static_cast<off_t>(offset + done));400 | ^401../src/daemon/log-spill.hh:132:61: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]402 132 | auto const n = ::pwrite(fd_.load(), data.data() + done, data.size() - done, static_cast<off_t>(offset + done));403 | ^404../src/daemon/log-spill.hh:144:29: error: parameter name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]405 144 | static auto readAll(int fd, char * buf, size_t len, size_t offset) -> bool406 | ^407../src/daemon/log-spill.hh:148:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]408 148 | auto const n = ::pread(fd, buf + done, len - done, static_cast<off_t>(offset + done));409 | ^410../src/daemon/log-spill.hh:148:44: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]411 148 | auto const n = ::pread(fd, buf + done, len - done, static_cast<off_t>(offset + done));412 | ^413../src/daemon/log-spill.hh:175:31: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors]414 175 | std::condition_variable & cv,415 | ^416../src/daemon/log-spill.hh:178:18: error: forwarding reference parameter 'cancelled' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]417 178 | Cancelled && cancelled,418 | ^419../src/daemon/log-spill.hh:179:13: error: forwarding reference parameter 'emit' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors]420 179 | Emit && emit) -> bool421 | ^422../src/daemon/log-spill.hh:195:16: error: 'wait_for' should be placed inside a while statement or used with a conditional parameter [bugprone-spuriously-wake-up-functions,cert-con36-c,cert-con54-cpp,-warnings-as-errors]423 195 | cv.wait_for(lock, poll);424 | ^425../src/daemon/main.cc:504:41: error: no header providing "nixgrpc::followSpill" is directly included [misc-include-cleaner,-warnings-as-errors]426 71 | auto const completed = nixgrpc::followSpill(427 | ^428FAILED: [code=1] meson-internal__clang-tidy 429/nix/store/jaa89dphx07w3r26y7gh79a7b1mld5p4-meson-1.10.2/bin/meson --internal clangtidy /build/source /build/source/build --color always430ninja: build stopped: subcommand failed.