nixbot

builds

failed lint-0.1.0 checks.x86_64-linux.lint · build #43 · raw

unpackPhase
1unpacking source archive /nix/store/25z5gh6nq4n65s6jmwqvbsjckff6r377-source2source root is source
configurePhase
3-- The C compiler identification is Clang 22.1.84-- The CXX compiler identification is Clang 22.1.85-- Detecting C compiler ABI info6-- Detecting C compiler ABI info - done7-- Check for working C compiler: /nix/store/aa0fqrgffl8ijza9mmx9apxy973215wz-clang-wrapper-22.1.8/bin/clang - skipped8-- Detecting C compile features9-- Detecting C compile features - done10-- Detecting CXX compiler ABI info11-- Detecting CXX compiler ABI info - done12-- Check for working CXX compiler: /nix/store/aa0fqrgffl8ijza9mmx9apxy973215wz-clang-wrapper-22.1.8/bin/clang++ - skipped13-- Detecting CXX compile features14-- Detecting CXX compile features - done15-- Found Vulkan: /nix/store/la62431p5qf1ggr3rdzql9dksv5fhicc-vulkan-loader-1.4.363.0/lib/libvulkan.so (found version "1.4.363") missing components: glslc glslangValidator16-- Performing Test CMAKE_HAVE_LIBC_PTHREAD17-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success18-- Found Threads: TRUE19-- Found Fontconfig: /nix/store/p3y4rk4gjnhs80339qq7jixjbhplqc16-fontconfig-2.18.3-lib/lib/libfontconfig.so (found version "2.18.3")20-- Found Freetype: /nix/store/zj7yb55h1zpmxmw6dp817n6y0370wji0-freetype-2.14.3/lib/libfreetype.so (found version "2.14.3")21-- Found PkgConfig: /nix/store/s70gz6bvz74c36xigh5m2ab2cqli08cv-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2")22-- Checking for module 'stb'23-- Found stb, version 124-- Configuring done (5.1s)25-- Generating done (0.2s)26-- Build files have been written to: /build/source/build
buildPhase
27Running clang-tidy in 16 threads for 47 files out of 47 in compilation database ...28[ 1/47][15.5s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/memory.cpp29[ 2/47][27.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_physics/src/ray.cpp30/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]31 29 | inline auto ortho(T left, T right, T bottom, T top) {32 | ^~~~~~~~~~~~~~~~~33/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'34 29 | inline auto ortho(T left, T right, T bottom, T top) {35 | ^~~~~36/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'37 29 | inline auto ortho(T left, T right, T bottom, T top) {38 | ^~~~~~39/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]40 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {41 | ^~~~~~~~~~~~~~~~~42/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'43 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {44 | ^~~~~45/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'46 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {47 | ^~~~~~48/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]49 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {50 | ^~~~~~~~~~~~~51/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'52 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {53 | ^~~54/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'55 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {56 | ^~~~57/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]58 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {59 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~60/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'61 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {62 | ^~~~~63/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'64 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {65 | ^~~~~~66/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]67 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}68 | ^69/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here70 198 | struct Vec4f : Vec<float, 4> {71 | ^72/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here7374[ 3/47][28.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/components/collider.cpp75/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]76 29 | inline auto ortho(T left, T right, T bottom, T top) {77 | ^~~~~~~~~~~~~~~~~78/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'79 29 | inline auto ortho(T left, T right, T bottom, T top) {80 | ^~~~~81/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'82 29 | inline auto ortho(T left, T right, T bottom, T top) {83 | ^~~~~~84/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]85 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {86 | ^~~~~~~~~~~~~~~~~87/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'88 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {89 | ^~~~~90/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'91 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {92 | ^~~~~~93/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]94 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {95 | ^~~~~~~~~~~~~96/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'97 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {98 | ^~~99/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'100 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {101 | ^~~~102/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]103 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {104 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~105/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'106 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {107 | ^~~~~108/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'109 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {110 | ^~~~~~111/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]112 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}113 | ^114/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here115 198 | struct Vec4f : Vec<float, 4> {116 | ^117/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here118119[ 4/47][36.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/event.cpp120/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]121 26 | explicit WindowResized(float width, float height)122 | ^~~~~~~~~~~~~~~~~~~~~~~~~123/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'124 26 | explicit WindowResized(float width, float height)125 | ^~~~~126/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'127 26 | explicit WindowResized(float width, float height)128 | ^~~~~~129/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]130 32 | if (case_insensitive && boost::iequals(name, described)) {131 | ^132/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original133 35 | } else if (!case_insensitive && name == described) {134 | ^135/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here136 35 | } else if (!case_insensitive && name == described) {137 | ^138139[ 5/47][37.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/input.cpp140/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]141 26 | explicit WindowResized(float width, float height)142 | ^~~~~~~~~~~~~~~~~~~~~~~~~143/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'144 26 | explicit WindowResized(float width, float height)145 | ^~~~~146/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'147 26 | explicit WindowResized(float width, float height)148 | ^~~~~~149/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]150 32 | if (case_insensitive && boost::iequals(name, described)) {151 | ^152/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original153 35 | } else if (!case_insensitive && name == described) {154 | ^155/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here156 35 | } else if (!case_insensitive && name == described) {157 | ^158159[ 6/47][41.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/tests/binary_reader.cpp160[ 7/47][42.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/filesystem_panel.cpp161/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]162 32 | if (case_insensitive && boost::iequals(name, described)) {163 | ^164/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original165 35 | } else if (!case_insensitive && name == described) {166 | ^167/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here168 35 | } else if (!case_insensitive && name == described) {169 | ^170/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]171 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));172 | ^173 | ( )174/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]175 112 | auto unique = (expr); \176 | ^177 | ( )178/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]179 113 | if (!(unique).has_value()) return std::unexpected(unique.error());180 | ^ 181 | ( )182/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]183 118 | out = std::move((unique).value());184 | ^185 | ( )186/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]187 125 | auto unique = (expr); \188 | ^189 | ( )190/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]191 131 | out = (unique).value();192 | ^193 | ( )194/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]195 151 | out = LINEIZE(res, __LINE__).value();196 | ^197 | ( )198199[ 8/47][42.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/src/filesystem.cpp200/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]201 32 | if (case_insensitive && boost::iequals(name, described)) {202 | ^203/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original204 35 | } else if (!case_insensitive && name == described) {205 | ^206/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here207 35 | } else if (!case_insensitive && name == described) {208 | ^209/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]210 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));211 | ^212 | ( )213/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]214 112 | auto unique = (expr); \215 | ^216 | ( )217/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]218 113 | if (!(unique).has_value()) return std::unexpected(unique.error());219 | ^ 220 | ( )221/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]222 118 | out = std::move((unique).value());223 | ^224 | ( )225/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]226 125 | auto unique = (expr); \227 | ^228 | ( )229/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]230 131 | out = (unique).value();231 | ^232 | ( )233/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]234 151 | out = LINEIZE(res, __LINE__).value();235 | ^236 | ( )237238[ 9/47][42.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_text/src/font.cpp239/build/source/wren_text/src/font.cpp:34:34: error: C-style casts are discouraged; use static_cast/const_cast/reinterpret_cast [modernize-avoid-c-style-cast,-warnings-as-errors]240 34 | FcPattern* pat = FcNameParse((FcChar8* const)(font.data()));241 | ^242/build/source/wren_text/src/font.cpp:34:34: error: do not use C-style cast to convert between unrelated types [cppcoreguidelines-pro-type-cstyle-cast,-warnings-as-errors]243/build/source/wren_text/src/font.cpp:43:43: error: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast,-warnings-as-errors]244 43 | font_path = std::filesystem::path{reinterpret_cast<char*>(file)};245 | ^246/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]247 32 | if (case_insensitive && boost::iequals(name, described)) {248 | ^249/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original250 35 | } else if (!case_insensitive && name == described) {251 | ^252/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here253 35 | } else if (!case_insensitive && name == described) {254 | ^255/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]256 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));257 | ^258 | ( )259/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]260 112 | auto unique = (expr); \261 | ^262 | ( )263/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]264 113 | if (!(unique).has_value()) return std::unexpected(unique.error());265 | ^ 266 | ( )267/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]268 118 | out = std::move((unique).value());269 | ^270 | ( )271/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]272 125 | auto unique = (expr); \273 | ^274 | ( )275/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]276 131 | out = (unique).value();277 | ^278 | ( )279/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]280 151 | out = LINEIZE(res, __LINE__).value();281 | ^282 | ( )283284[10/47][43.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/tests/vector.cpp285/build/source/wren_math/include/wren/math/format.hpp:11:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]286 11 | struct std::formatter<wren::math::Vec<T, N>, char> {287 | ^288/build/source/wren_math/include/wren/math/format.hpp:29:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]289 29 | struct std::formatter<wren::math::Mat<T, Rows, Cols>, char> {290 | ^291/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]292 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}293 | ^294/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here295 198 | struct Vec4f : Vec<float, 4> {296 | ^297/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here298/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]299 12 | struct std::formatter<T, char> {300 | ^301/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]302 66 | struct std::formatter<T, char> {303 | ^304/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]305 97 | struct std::formatter<std::vector<T>, char> {306 | ^307/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]308 126 | struct std::formatter<std::array<T, N>, char> {309 | ^310/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]311 155 | struct std::formatter<std::map<Key, Val>, char> {312 | ^313/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]314 184 | struct std::formatter<std::filesystem::path, char> {315 | ^316317[11/47][37.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/tests/string_reader.cpp318[12/47][54.5s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_physics/tests/raycast.cpp319/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]320 29 | inline auto ortho(T left, T right, T bottom, T top) {321 | ^~~~~~~~~~~~~~~~~322/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'323 29 | inline auto ortho(T left, T right, T bottom, T top) {324 | ^~~~~325/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'326 29 | inline auto ortho(T left, T right, T bottom, T top) {327 | ^~~~~~328/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]329 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {330 | ^~~~~~~~~~~~~~~~~331/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'332 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {333 | ^~~~~334/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'335 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {336 | ^~~~~~337/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]338 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {339 | ^~~~~~~~~~~~~340/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'341 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {342 | ^~~343/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'344 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {345 | ^~~~346/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]347 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {348 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~349/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'350 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {351 | ^~~~~352/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'353 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {354 | ^~~~~~355/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]356 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}357 | ^358/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here359 198 | struct Vec4f : Vec<float, 4> {360 | ^361/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here362363[13/47][80.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/vulkan.cpp364[14/47][118.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/texture.cpp365/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]366 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}367 | ^368/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here369 198 | struct Vec4f : Vec<float, 4> {370 | ^371/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here372/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]373 32 | if (case_insensitive && boost::iequals(name, described)) {374 | ^375/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original376 35 | } else if (!case_insensitive && name == described) {377 | ^378/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here379 35 | } else if (!case_insensitive && name == described) {380 | ^381/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]382 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));383 | ^384 | ( )385/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]386 112 | auto unique = (expr); \387 | ^388 | ( )389/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]390 113 | if (!(unique).has_value()) return std::unexpected(unique.error());391 | ^ 392 | ( )393/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]394 118 | out = std::move((unique).value());395 | ^396 | ( )397/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]398 125 | auto unique = (expr); \399 | ^400 | ( )401/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]402 131 | out = (unique).value();403 | ^404 | ( )405/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]406 151 | out = LINEIZE(res, __LINE__).value();407 | ^408 | ( )409/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]410 48 | if (unique != ::vk::Result::eSuccess) \411 | ^412 | ( )413/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]414 53 | if (unique != ::vk::Result::eSuccess) \415 | ^416 | ( )417/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]418 62 | if (unique != ::vk::Result::eSuccess) \419 | ^420 | ( )421/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]422 71 | if (unique != ::vk::Result::eSuccess) \423 | ^424 | ( )425426[15/47][125.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/image.cpp427/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]428 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}429 | ^430/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here431 198 | struct Vec4f : Vec<float, 4> {432 | ^433/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here434/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]435 32 | if (case_insensitive && boost::iequals(name, described)) {436 | ^437/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original438 35 | } else if (!case_insensitive && name == described) {439 | ^440/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here441 35 | } else if (!case_insensitive && name == described) {442 | ^443/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]444 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));445 | ^446 | ( )447/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]448 112 | auto unique = (expr); \449 | ^450 | ( )451/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]452 113 | if (!(unique).has_value()) return std::unexpected(unique.error());453 | ^ 454 | ( )455/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]456 118 | out = std::move((unique).value());457 | ^458 | ( )459/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]460 125 | auto unique = (expr); \461 | ^462 | ( )463/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]464 131 | out = (unique).value();465 | ^466 | ( )467/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]468 151 | out = LINEIZE(res, __LINE__).value();469 | ^470 | ( )471/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]472 48 | if (unique != ::vk::Result::eSuccess) \473 | ^474 | ( )475/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]476 53 | if (unique != ::vk::Result::eSuccess) \477 | ^478 | ( )479/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]480 62 | if (unique != ::vk::Result::eSuccess) \481 | ^482 | ( )483/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]484 71 | if (unique != ::vk::Result::eSuccess) \485 | ^486 | ( )487488[16/47][8.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/src/geometry.cpp489/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]490 29 | inline auto ortho(T left, T right, T bottom, T top) {491 | ^~~~~~~~~~~~~~~~~492/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'493 29 | inline auto ortho(T left, T right, T bottom, T top) {494 | ^~~~~495/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'496 29 | inline auto ortho(T left, T right, T bottom, T top) {497 | ^~~~~~498/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]499 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {500 | ^~~~~~~~~~~~~~~~~501/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'502 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {503 | ^~~~~504/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'505 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {506 | ^~~~~~507/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]508 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {509 | ^~~~~~~~~~~~~510/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'511 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {512 | ^~~513/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'514 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {515 | ^~~~516/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]517 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {518 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~519/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'520 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {521 | ^~~~~522/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'523 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {524 | ^~~~~~525/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]526 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}527 | ^528/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here529 198 | struct Vec4f : Vec<float, 4> {530 | ^531/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here532/build/source/wren_math/src/geometry.cpp:10:32: error: 2 adjacent parameters of 'look_at' of similar type ('const Vec3f &') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]533 10 | auto look_at(const Vec3f& eye, const Vec3f& center, const Vec3f& world_up)534 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~535/build/source/wren_math/src/geometry.cpp:10:45: note: the first parameter in the range is 'center'536 10 | auto look_at(const Vec3f& eye, const Vec3f& center, const Vec3f& world_up)537 | ^~~~~~538/build/source/wren_math/src/geometry.cpp:10:66: note: the last parameter in the range is 'world_up'539 10 | auto look_at(const Vec3f& eye, const Vec3f& center, const Vec3f& world_up)540 | ^~~~~~~~541542[17/47][132.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/application.cpp543/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]544 26 | explicit WindowResized(float width, float height)545 | ^~~~~~~~~~~~~~~~~~~~~~~~~546/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'547 26 | explicit WindowResized(float width, float height)548 | ^~~~~549/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'550 26 | explicit WindowResized(float width, float height)551 | ^~~~~~552/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]553 26 | const std::array kTriangleVertices = {554 | ^555/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here556 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}557 | ^558/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]559 32 | const std::array kQuadVertices = {560 | ^561/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here562 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}563 | ^564/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]565 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};566 | ^567/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here568 698 | vector(initializer_list<value_type> __l,569 | ^570/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]571 67 | ::vk::SampleCountFlagBits sample_count_{};572 | ^573/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here574 2655 | enum class SampleCountFlagBits : VkSampleCountFlags575 | ^576/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]577 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {578 | ^ 579 | != 0580/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]581 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {582 | ~~~~~^~~~583/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]584 56 | if (std::strcmp(ext.layerName, name.data())) {585 | ^ 586 | != 0587/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]588 56 | if (std::strcmp(ext.layerName, name.data())) {589 | ~~~~~^~~~590/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]591 71 | if (std::strcmp(ext.extensionName, name.data())) {592 | ^ 593 | != 0594/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]595 71 | if (std::strcmp(ext.extensionName, name.data())) {596 | ~~~~~^~~~597/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]598 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}599 | ^600/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here601 198 | struct Vec4f : Vec<float, 4> {602 | ^603/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here604/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]605 37 | return level.value();606 | ^~~~~607/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]608 32 | if (case_insensitive && boost::iequals(name, described)) {609 | ^610/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original611 35 | } else if (!case_insensitive && name == described) {612 | ^613/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here614 35 | } else if (!case_insensitive && name == described) {615 | ^616/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]617 12 | struct std::formatter<T, char> {618 | ^619/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]620 66 | struct std::formatter<T, char> {621 | ^622/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]623 97 | struct std::formatter<std::vector<T>, char> {624 | ^625/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]626 126 | struct std::formatter<std::array<T, N>, char> {627 | ^628/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]629 155 | struct std::formatter<std::map<Key, Val>, char> {630 | ^631/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]632 184 | struct std::formatter<std::filesystem::path, char> {633 | ^634/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]635 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));636 | ^637 | ( )638/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]639 112 | auto unique = (expr); \640 | ^641 | ( )642/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]643 113 | if (!(unique).has_value()) return std::unexpected(unique.error());644 | ^ 645 | ( )646/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]647 118 | out = std::move((unique).value());648 | ^649 | ( )650/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]651 125 | auto unique = (expr); \652 | ^653 | ( )654/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]655 131 | out = (unique).value();656 | ^657 | ( )658/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]659 151 | out = LINEIZE(res, __LINE__).value();660 | ^661 | ( )662/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]663 48 | if (unique != ::vk::Result::eSuccess) \664 | ^665 | ( )666/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]667 53 | if (unique != ::vk::Result::eSuccess) \668 | ^669 | ( )670/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]671 62 | if (unique != ::vk::Result::eSuccess) \672 | ^673 | ( )674/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]675 71 | if (unique != ::vk::Result::eSuccess) \676 | ^677 | ( )678679[18/47][134.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/mesh.cpp680/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]681 26 | const std::array kTriangleVertices = {682 | ^683/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here684 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}685 | ^686/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]687 32 | const std::array kQuadVertices = {688 | ^689/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here690 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}691 | ^692/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]693 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};694 | ^695/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here696 698 | vector(initializer_list<value_type> __l,697 | ^698/build/source/wren/src/mesh.cpp:29:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]699 29 | staging_buffer->set_data_raw<Vertex>(data);700 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~701/build/source/wren/src/mesh.cpp:29:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]702 29 | staging_buffer->set_data_raw<Vertex>(data);703 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~704/build/source/wren/src/mesh.cpp:35:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]705 35 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),706 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~707 36 | device.command_pool(), staging_buffer,708 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~709 37 | vertex_buffer_, data.size_bytes());710 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~711/build/source/wren/src/mesh.cpp:35:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]712 35 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),713 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~714 36 | device.command_pool(), staging_buffer,715 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~716 37 | vertex_buffer_, data.size_bytes());717 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~718/build/source/wren/src/mesh.cpp:50:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]719 50 | staging_buffer->set_data_raw<uint16_t>(data);720 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~721/build/source/wren/src/mesh.cpp:50:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]722 50 | staging_buffer->set_data_raw<uint16_t>(data);723 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~724/build/source/wren/src/mesh.cpp:56:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]725 56 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),726 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~727 57 | device.command_pool(), staging_buffer,728 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~729 58 | index_buffer_, data.size_bytes());730 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~731/build/source/wren/src/mesh.cpp:56:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]732 56 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),733 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~734 57 | device.command_pool(), staging_buffer,735 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~736 58 | index_buffer_, data.size_bytes());737 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~738/build/source/wren/src/mesh.cpp:69:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]739 69 | uniform_buffer_->set_data_raw(&ubo, size);740 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~741/build/source/wren/src/mesh.cpp:69:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]742 69 | uniform_buffer_->set_data_raw(&ubo, size);743 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~744/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]745 29 | inline auto ortho(T left, T right, T bottom, T top) {746 | ^~~~~~~~~~~~~~~~~747/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'748 29 | inline auto ortho(T left, T right, T bottom, T top) {749 | ^~~~~750/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'751 29 | inline auto ortho(T left, T right, T bottom, T top) {752 | ^~~~~~753/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]754 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {755 | ^~~~~~~~~~~~~~~~~756/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'757 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {758 | ^~~~~759/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'760 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {761 | ^~~~~~762/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]763 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {764 | ^~~~~~~~~~~~~765/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'766 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {767 | ^~~768/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'769 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {770 | ^~~~771/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]772 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {773 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~774/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'775 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {776 | ^~~~~777/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'778 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {779 | ^~~~~~780/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]781 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}782 | ^783/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here784 198 | struct Vec4f : Vec<float, 4> {785 | ^786/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here787/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]788 32 | if (case_insensitive && boost::iequals(name, described)) {789 | ^790/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original791 35 | } else if (!case_insensitive && name == described) {792 | ^793/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here794 35 | } else if (!case_insensitive && name == described) {795 | ^796/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]797 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));798 | ^799 | ( )800/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]801 112 | auto unique = (expr); \802 | ^803 | ( )804/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]805 113 | if (!(unique).has_value()) return std::unexpected(unique.error());806 | ^ 807 | ( )808/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]809 118 | out = std::move((unique).value());810 | ^811 | ( )812/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]813 125 | auto unique = (expr); \814 | ^815 | ( )816/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]817 131 | out = (unique).value();818 | ^819 | ( )820/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]821 151 | out = LINEIZE(res, __LINE__).value();822 | ^823 | ( )824/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]825 48 | if (unique != ::vk::Result::eSuccess) \826 | ^827 | ( )828/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]829 53 | if (unique != ::vk::Result::eSuccess) \830 | ^831 | ( )832/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]833 62 | if (unique != ::vk::Result::eSuccess) \834 | ^835 | ( )836/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]837 71 | if (unique != ::vk::Result::eSuccess) \838 | ^839 | ( )840841[19/47][136.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/graph.cpp842/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]843 26 | explicit WindowResized(float width, float height)844 | ^~~~~~~~~~~~~~~~~~~~~~~~~845/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'846 26 | explicit WindowResized(float width, float height)847 | ^~~~~848/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'849 26 | explicit WindowResized(float width, float height)850 | ^~~~~~851/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]852 26 | const std::array kTriangleVertices = {853 | ^854/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here855 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}856 | ^857/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]858 32 | const std::array kQuadVertices = {859 | ^860/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here861 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}862 | ^863/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]864 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};865 | ^866/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here867 698 | vector(initializer_list<value_type> __l,868 | ^869/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]870 67 | ::vk::SampleCountFlagBits sample_count_{};871 | ^872/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here873 2655 | enum class SampleCountFlagBits : VkSampleCountFlags874 | ^875/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]876 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {877 | ^ 878 | != 0879/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]880 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {881 | ~~~~~^~~~882/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]883 56 | if (std::strcmp(ext.layerName, name.data())) {884 | ^ 885 | != 0886/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]887 56 | if (std::strcmp(ext.layerName, name.data())) {888 | ~~~~~^~~~889/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]890 71 | if (std::strcmp(ext.extensionName, name.data())) {891 | ^ 892 | != 0893/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]894 71 | if (std::strcmp(ext.extensionName, name.data())) {895 | ~~~~~^~~~896/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]897 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}898 | ^899/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here900 198 | struct Vec4f : Vec<float, 4> {901 | ^902/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here903/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]904 32 | if (case_insensitive && boost::iequals(name, described)) {905 | ^906/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original907 35 | } else if (!case_insensitive && name == described) {908 | ^909/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here910 35 | } else if (!case_insensitive && name == described) {911 | ^912/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]913 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));914 | ^915 | ( )916/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]917 112 | auto unique = (expr); \918 | ^919 | ( )920/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]921 113 | if (!(unique).has_value()) return std::unexpected(unique.error());922 | ^ 923 | ( )924/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]925 118 | out = std::move((unique).value());926 | ^927 | ( )928/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]929 125 | auto unique = (expr); \930 | ^931 | ( )932/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]933 131 | out = (unique).value();934 | ^935 | ( )936/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]937 151 | out = LINEIZE(res, __LINE__).value();938 | ^939 | ( )940/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]941 48 | if (unique != ::vk::Result::eSuccess) \942 | ^943 | ( )944/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]945 53 | if (unique != ::vk::Result::eSuccess) \946 | ^947 | ( )948/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]949 62 | if (unique != ::vk::Result::eSuccess) \950 | ^951 | ( )952/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]953 71 | if (unique != ::vk::Result::eSuccess) \954 | ^955 | ( )956957[20/47][4.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/src/string_reader.cpp958[21/47][61.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/tests/geometry.cpp959/build/source/wren_math/include/wren/math/format.hpp:11:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]960 11 | struct std::formatter<wren::math::Vec<T, N>, char> {961 | ^962/build/source/wren_math/include/wren/math/format.hpp:29:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]963 29 | struct std::formatter<wren::math::Mat<T, Rows, Cols>, char> {964 | ^965/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]966 29 | inline auto ortho(T left, T right, T bottom, T top) {967 | ^~~~~~~~~~~~~~~~~968/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'969 29 | inline auto ortho(T left, T right, T bottom, T top) {970 | ^~~~~971/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'972 29 | inline auto ortho(T left, T right, T bottom, T top) {973 | ^~~~~~974/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]975 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {976 | ^~~~~~~~~~~~~~~~~977/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'978 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {979 | ^~~~~980/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'981 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {982 | ^~~~~~983/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]984 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {985 | ^~~~~~~~~~~~~986/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'987 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {988 | ^~~989/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'990 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {991 | ^~~~992/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]993 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {994 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~995/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'996 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {997 | ^~~~~998/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'999 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1000 | ^~~~~~1001/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1002 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1003 | ^1004/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1005 198 | struct Vec4f : Vec<float, 4> {1006 | ^1007/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here1008/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1009 12 | struct std::formatter<T, char> {1010 | ^1011/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1012 66 | struct std::formatter<T, char> {1013 | ^1014/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1015 97 | struct std::formatter<std::vector<T>, char> {1016 | ^1017/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1018 126 | struct std::formatter<std::array<T, N>, char> {1019 | ^1020/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1021 155 | struct std::formatter<std::map<Key, Val>, char> {1022 | ^1023/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1024 184 | struct std::formatter<std::filesystem::path, char> {1025 | ^10261027[22/47][43.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/tests/enums.cpp1028/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1029 32 | if (case_insensitive && boost::iequals(name, described)) {1030 | ^1031/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1032 35 | } else if (!case_insensitive && name == described) {1033 | ^1034/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1035 35 | } else if (!case_insensitive && name == described) {1036 | ^1037/build/source/wren_utils/tests/enums.cpp:20:14: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1038 20 | BOOST_TEST(res.value() == TestEnums::Case1);1039 | ^1040/build/source/wren_utils/tests/enums.cpp:26:14: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1041 26 | BOOST_TEST(res.value() == TestEnums::Case2);1042 | ^1043/build/source/wren_utils/tests/enums.cpp:30:14: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1044 30 | BOOST_TEST(res.value() == TestEnums::Case1);1045 | ^10461047[23/47][151.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/shader.cpp1048/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1049 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1050 | ^1051/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1052 198 | struct Vec4f : Vec<float, 4> {1053 | ^1054/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here1055/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1056 37 | return level.value();1057 | ^~~~~1058/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1059 32 | if (case_insensitive && boost::iequals(name, described)) {1060 | ^1061/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1062 35 | } else if (!case_insensitive && name == described) {1063 | ^1064/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1065 35 | } else if (!case_insensitive && name == described) {1066 | ^1067/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1068 12 | struct std::formatter<T, char> {1069 | ^1070/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1071 66 | struct std::formatter<T, char> {1072 | ^1073/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1074 97 | struct std::formatter<std::vector<T>, char> {1075 | ^1076/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1077 126 | struct std::formatter<std::array<T, N>, char> {1078 | ^1079/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1080 155 | struct std::formatter<std::map<Key, Val>, char> {1081 | ^1082/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1083 184 | struct std::formatter<std::filesystem::path, char> {1084 | ^1085/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1086 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1087 | ^1088 | ( )1089/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1090 112 | auto unique = (expr); \1091 | ^1092 | ( )1093/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1094 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1095 | ^ 1096 | ( )1097/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1098 118 | out = std::move((unique).value());1099 | ^1100 | ( )1101/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1102 125 | auto unique = (expr); \1103 | ^1104 | ( )1105/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1106 131 | out = (unique).value();1107 | ^1108 | ( )1109/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1110 151 | out = LINEIZE(res, __LINE__).value();1111 | ^1112 | ( )1113/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1114 48 | if (unique != ::vk::Result::eSuccess) \1115 | ^1116 | ( )1117/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1118 53 | if (unique != ::vk::Result::eSuccess) \1119 | ^1120 | ( )1121/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1122 62 | if (unique != ::vk::Result::eSuccess) \1123 | ^1124 | ( )1125/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1126 71 | if (unique != ::vk::Result::eSuccess) \1127 | ^1128 | ( )11291130[24/47][26.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/scene.cpp1131/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1132 29 | inline auto ortho(T left, T right, T bottom, T top) {1133 | ^~~~~~~~~~~~~~~~~1134/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'1135 29 | inline auto ortho(T left, T right, T bottom, T top) {1136 | ^~~~~1137/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'1138 29 | inline auto ortho(T left, T right, T bottom, T top) {1139 | ^~~~~~1140/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1141 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1142 | ^~~~~~~~~~~~~~~~~1143/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'1144 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1145 | ^~~~~1146/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'1147 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1148 | ^~~~~~1149/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1150 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1151 | ^~~~~~~~~~~~~1152/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'1153 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1154 | ^~~1155/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'1156 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1157 | ^~~~1158/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1159 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1160 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~1161/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'1162 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1163 | ^~~~~1164/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'1165 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1166 | ^~~~~~1167/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1168 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1169 | ^1170/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1171 198 | struct Vec4f : Vec<float, 4> {1172 | ^1173/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here11741175[25/47][8.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/src/string.cpp1176[26/47][39.2s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/assets/manager.cpp1177/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1178 32 | if (case_insensitive && boost::iequals(name, described)) {1179 | ^1180/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1181 35 | } else if (!case_insensitive && name == described) {1182 | ^1183/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1184 35 | } else if (!case_insensitive && name == described) {1185 | ^1186/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1187 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1188 | ^1189 | ( )1190/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1191 112 | auto unique = (expr); \1192 | ^1193 | ( )1194/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1195 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1196 | ^ 1197 | ( )1198/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1199 118 | out = std::move((unique).value());1200 | ^1201 | ( )1202/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1203 125 | auto unique = (expr); \1204 | ^1205 | ( )1206/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1207 131 | out = (unique).value();1208 | ^1209 | ( )1210/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1211 151 | out = LINEIZE(res, __LINE__).value();1212 | ^1213 | ( )12141215[27/47][56.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/tests/matrix.cpp1216/build/source/wren_math/include/wren/math/format.hpp:11:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1217 11 | struct std::formatter<wren::math::Vec<T, N>, char> {1218 | ^1219/build/source/wren_math/include/wren/math/format.hpp:29:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1220 29 | struct std::formatter<wren::math::Mat<T, Rows, Cols>, char> {1221 | ^1222/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1223 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1224 | ^1225/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1226 198 | struct Vec4f : Vec<float, 4> {1227 | ^1228/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here1229/build/source/wren_math/tests/matrix.cpp:21:21: error: performing an implicit widening conversion to type 'std::size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result,-warnings-as-errors]1230 21 | std::array<float, 4 * 4> identity = {1231 | ^1232/build/source/wren_math/tests/matrix.cpp:21:21: note: make conversion explicit to silence this warning1233 2 | std::array<float, 4 * 4> identity = {1234 | ^~~~~1235 | static_cast<std::size_t>( )1236/build/source/wren_math/tests/matrix.cpp:21:21: note: perform multiplication in a wider type1237 21 | std::array<float, 4 * 4> identity = {1238 | ^1239 | static_cast<long>( )1240/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1241 12 | struct std::formatter<T, char> {1242 | ^1243/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1244 66 | struct std::formatter<T, char> {1245 | ^1246/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1247 97 | struct std::formatter<std::vector<T>, char> {1248 | ^1249/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1250 126 | struct std::formatter<std::array<T, N>, char> {1251 | ^1252/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1253 155 | struct std::formatter<std::map<Key, Val>, char> {1254 | ^1255/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1256 184 | struct std::formatter<std::filesystem::path, char> {1257 | ^12581259[28/47][161.2s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/inspector_panel.cpp1260/build/source/editor/src/inspector_panel.cpp:77:7: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]1261 77 | mesh_renderer.update_mesh(ctx.project_path, new_file);1262 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1263/build/source/editor/src/inspector_panel.cpp:77:7: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]1264 77 | mesh_renderer.update_mesh(ctx.project_path, new_file);1265 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1266/build/source/editor/src/inspector_panel.cpp:91:40: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1267 91 | ImGui::LabelText("##name", "%s", tag.data());1268 | ~~~~^~~~1269/build/source/editor/src/inspector_panel.cpp:96:49: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1270 96 | if (ImGui::DragFloat(("##x" + std::string(tag.data())).c_str(), &x, 0.1F))1271 | ~~~~^~~~1272/build/source/editor/src/inspector_panel.cpp:103:49: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1273 103 | if (ImGui::DragFloat(("##y" + std::string(tag.data())).c_str(), &y, 0.1F))1274 | ~~~~^~~~1275/build/source/editor/src/inspector_panel.cpp:110:49: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1276 110 | if (ImGui::DragFloat(("##z" + std::string(tag.data())).c_str(), &z, 0.1F))1277 | ~~~~^~~~1278/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1279 26 | explicit WindowResized(float width, float height)1280 | ^~~~~~~~~~~~~~~~~~~~~~~~~1281/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'1282 26 | explicit WindowResized(float width, float height)1283 | ^~~~~1284/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'1285 26 | explicit WindowResized(float width, float height)1286 | ^~~~~~1287/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1288 26 | const std::array kTriangleVertices = {1289 | ^1290/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1291 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1292 | ^1293/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1294 32 | const std::array kQuadVertices = {1295 | ^1296/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1297 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1298 | ^1299/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1300 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};1301 | ^1302/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here1303 698 | vector(initializer_list<value_type> __l,1304 | ^1305/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]1306 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));1307 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1308/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]1309 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));1310 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1311/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1312 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1313 | ^ 1314 | != 01315/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1316 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1317 | ~~~~~^~~~1318/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1319 56 | if (std::strcmp(ext.layerName, name.data())) {1320 | ^ 1321 | != 01322/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1323 56 | if (std::strcmp(ext.layerName, name.data())) {1324 | ~~~~~^~~~1325/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1326 71 | if (std::strcmp(ext.extensionName, name.data())) {1327 | ^ 1328 | != 01329/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1330 71 | if (std::strcmp(ext.extensionName, name.data())) {1331 | ~~~~~^~~~1332/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1333 29 | inline auto ortho(T left, T right, T bottom, T top) {1334 | ^~~~~~~~~~~~~~~~~1335/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'1336 29 | inline auto ortho(T left, T right, T bottom, T top) {1337 | ^~~~~1338/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'1339 29 | inline auto ortho(T left, T right, T bottom, T top) {1340 | ^~~~~~1341/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1342 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1343 | ^~~~~~~~~~~~~~~~~1344/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'1345 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1346 | ^~~~~1347/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'1348 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1349 | ^~~~~~1350/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1351 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1352 | ^~~~~~~~~~~~~1353/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'1354 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1355 | ^~~1356/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'1357 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1358 | ^~~~1359/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1360 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1361 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~1362/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'1363 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1364 | ^~~~~1365/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'1366 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1367 | ^~~~~~1368/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1369 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1370 | ^1371/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1372 198 | struct Vec4f : Vec<float, 4> {1373 | ^1374/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here1375/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1376 32 | if (case_insensitive && boost::iequals(name, described)) {1377 | ^1378/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1379 35 | } else if (!case_insensitive && name == described) {1380 | ^1381/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1382 35 | } else if (!case_insensitive && name == described) {1383 | ^1384/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1385 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1386 | ^1387 | ( )1388/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1389 112 | auto unique = (expr); \1390 | ^1391 | ( )1392/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1393 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1394 | ^ 1395 | ( )1396/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1397 118 | out = std::move((unique).value());1398 | ^1399 | ( )1400/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1401 125 | auto unique = (expr); \1402 | ^1403 | ( )1404/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1405 131 | out = (unique).value();1406 | ^1407 | ( )1408/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1409 151 | out = LINEIZE(res, __LINE__).value();1410 | ^1411 | ( )1412/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1413 48 | if (unique != ::vk::Result::eSuccess) \1414 | ^1415 | ( )1416/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1417 53 | if (unique != ::vk::Result::eSuccess) \1418 | ^1419 | ( )1420/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1421 62 | if (unique != ::vk::Result::eSuccess) \1422 | ^1423 | ( )1424/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1425 71 | if (unique != ::vk::Result::eSuccess) \1426 | ^1427 | ( )14281429[29/47][150.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/ui.cpp1430/build/source/editor/src/ui.cpp:47:5: error: switch has 10 consecutive identical branches [bugprone-branch-clone,-warnings-as-errors]1431 47 | case wren::KeyCode::KExclaim:1432 | ^1433/build/source/editor/src/ui.cpp:66:37: note: last of these clones ends here1434 66 | return ImGuiKey::ImGuiKey_None; // FIXME1435 | ^1436/build/source/editor/src/ui.cpp:102:5: error: switch has 2 consecutive identical branches [bugprone-branch-clone,-warnings-as-errors]1437 102 | case wren::KeyCode::KQuestion:1438 | ^1439/build/source/editor/src/ui.cpp:105:37: note: last of these clones ends here1440 105 | return ImGuiKey::ImGuiKey_None; // FIXME1441 | ^1442/build/source/editor/src/ui.cpp:114:5: error: switch has 2 consecutive identical branches [bugprone-branch-clone,-warnings-as-errors]1443 114 | case wren::KeyCode::KUnderscore:1444 | ^1445/build/source/editor/src/ui.cpp:117:37: note: last of these clones ends here1446 117 | return ImGuiKey::ImGuiKey_None;1447 | ^1448/build/source/editor/src/ui.cpp:283:63: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1449 283 | [&io](const auto& e) { io.AddInputCharactersUTF8(e.text.data()); });1450 | ~~~~~~~^~~~1451/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1452 26 | explicit WindowResized(float width, float height)1453 | ^~~~~~~~~~~~~~~~~~~~~~~~~1454/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'1455 26 | explicit WindowResized(float width, float height)1456 | ^~~~~1457/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'1458 26 | explicit WindowResized(float width, float height)1459 | ^~~~~~1460/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1461 26 | const std::array kTriangleVertices = {1462 | ^1463/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1464 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1465 | ^1466/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1467 32 | const std::array kQuadVertices = {1468 | ^1469/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1470 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1471 | ^1472/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1473 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};1474 | ^1475/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here1476 698 | vector(initializer_list<value_type> __l,1477 | ^1478/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]1479 67 | ::vk::SampleCountFlagBits sample_count_{};1480 | ^1481/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here1482 2655 | enum class SampleCountFlagBits : VkSampleCountFlags1483 | ^1484/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1485 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1486 | ^ 1487 | != 01488/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1489 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1490 | ~~~~~^~~~1491/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1492 56 | if (std::strcmp(ext.layerName, name.data())) {1493 | ^ 1494 | != 01495/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1496 56 | if (std::strcmp(ext.layerName, name.data())) {1497 | ~~~~~^~~~1498/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1499 71 | if (std::strcmp(ext.extensionName, name.data())) {1500 | ^ 1501 | != 01502/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1503 71 | if (std::strcmp(ext.extensionName, name.data())) {1504 | ~~~~~^~~~1505/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1506 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1507 | ^1508/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1509 198 | struct Vec4f : Vec<float, 4> {1510 | ^1511/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here1512/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1513 37 | return level.value();1514 | ^~~~~1515/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1516 32 | if (case_insensitive && boost::iequals(name, described)) {1517 | ^1518/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1519 35 | } else if (!case_insensitive && name == described) {1520 | ^1521/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1522 35 | } else if (!case_insensitive && name == described) {1523 | ^1524/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1525 12 | struct std::formatter<T, char> {1526 | ^1527/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1528 66 | struct std::formatter<T, char> {1529 | ^1530/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1531 97 | struct std::formatter<std::vector<T>, char> {1532 | ^1533/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1534 126 | struct std::formatter<std::array<T, N>, char> {1535 | ^1536/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1537 155 | struct std::formatter<std::map<Key, Val>, char> {1538 | ^1539/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1540 184 | struct std::formatter<std::filesystem::path, char> {1541 | ^1542/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1543 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1544 | ^1545 | ( )1546/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1547 112 | auto unique = (expr); \1548 | ^1549 | ( )1550/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1551 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1552 | ^ 1553 | ( )1554/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1555 118 | out = std::move((unique).value());1556 | ^1557 | ( )1558/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1559 125 | auto unique = (expr); \1560 | ^1561 | ( )1562/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1563 131 | out = (unique).value();1564 | ^1565 | ( )1566/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1567 151 | out = LINEIZE(res, __LINE__).value();1568 | ^1569 | ( )1570/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1571 48 | if (unique != ::vk::Result::eSuccess) \1572 | ^1573 | ( )1574/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1575 53 | if (unique != ::vk::Result::eSuccess) \1576 | ^1577 | ( )1578/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1579 62 | if (unique != ::vk::Result::eSuccess) \1580 | ^1581 | ( )1582/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1583 71 | if (unique != ::vk::Result::eSuccess) \1584 | ^1585 | ( )15861587[30/47][149.5s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/graphics_context.cpp1588/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1589 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1590 | ^ 1591 | != 01592/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1593 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1594 | ~~~~~^~~~1595/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1596 56 | if (std::strcmp(ext.layerName, name.data())) {1597 | ^ 1598 | != 01599/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1600 56 | if (std::strcmp(ext.layerName, name.data())) {1601 | ~~~~~^~~~1602/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1603 71 | if (std::strcmp(ext.extensionName, name.data())) {1604 | ^ 1605 | != 01606/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1607 71 | if (std::strcmp(ext.extensionName, name.data())) {1608 | ~~~~~^~~~1609/build/source/wren/src/graphics_context.cpp:52:5: error: 2 adjacent parameters of 'create_instance' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1610 52 | const std::vector<std::string_view>& requested_extensions,1611 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1612 53 | const std::vector<std::string_view>& requested_layers) -> expected<void> {1613 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1614/build/source/wren/src/graphics_context.cpp:52:42: note: the first parameter in the range is 'requested_extensions'1615 52 | const std::vector<std::string_view>& requested_extensions,1616 | ^~~~~~~~~~~~~~~~~~~~1617/build/source/wren/src/graphics_context.cpp:53:42: note: the last parameter in the range is 'requested_layers'1618 53 | const std::vector<std::string_view>& requested_layers) -> expected<void> {1619 | ^~~~~~~~~~~~~~~~1620/build/source/wren/src/graphics_context.cpp:53:5: note: 'const std::vector<std::string_view> &' and 'const std::vector<std::string_view> &' may be implicitly converted: 'const std::vector<std::string_view> &' (as 'std::vector<std::string_view>') -> 'const std::vector<std::string_view> &' (as 'std::vector<std::string_view>'), 'const std::vector<std::string_view> &' (as 'std::vector<std::string_view>') -> 'const std::vector<std::string_view> &' (as 'std::vector<std::string_view>')1621 53 | const std::vector<std::string_view>& requested_layers) -> expected<void> {1622 | ^1623/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1624 37 | return level.value();1625 | ^~~~~1626/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1627 32 | if (case_insensitive && boost::iequals(name, described)) {1628 | ^1629/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1630 35 | } else if (!case_insensitive && name == described) {1631 | ^1632/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1633 35 | } else if (!case_insensitive && name == described) {1634 | ^1635/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1636 12 | struct std::formatter<T, char> {1637 | ^1638/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1639 66 | struct std::formatter<T, char> {1640 | ^1641/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1642 97 | struct std::formatter<std::vector<T>, char> {1643 | ^1644/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1645 126 | struct std::formatter<std::array<T, N>, char> {1646 | ^1647/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1648 155 | struct std::formatter<std::map<Key, Val>, char> {1649 | ^1650/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1651 184 | struct std::formatter<std::filesystem::path, char> {1652 | ^1653/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1654 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1655 | ^1656 | ( )1657/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1658 112 | auto unique = (expr); \1659 | ^1660 | ( )1661/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1662 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1663 | ^ 1664 | ( )1665/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1666 118 | out = std::move((unique).value());1667 | ^1668 | ( )1669/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1670 125 | auto unique = (expr); \1671 | ^1672 | ( )1673/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1674 131 | out = (unique).value();1675 | ^1676 | ( )1677/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1678 151 | out = LINEIZE(res, __LINE__).value();1679 | ^1680 | ( )1681/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1682 48 | if (unique != ::vk::Result::eSuccess) \1683 | ^1684 | ( )1685/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1686 53 | if (unique != ::vk::Result::eSuccess) \1687 | ^1688 | ( )1689/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1690 62 | if (unique != ::vk::Result::eSuccess) \1691 | ^1692 | ( )1693/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1694 71 | if (unique != ::vk::Result::eSuccess) \1695 | ^1696 | ( )16971698[31/47][56.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_text/tests/font.cpp1699/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1700 32 | if (case_insensitive && boost::iequals(name, described)) {1701 | ^1702/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1703 35 | } else if (!case_insensitive && name == described) {1704 | ^1705/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1706 35 | } else if (!case_insensitive && name == described) {1707 | ^1708/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1709 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1710 | ^1711 | ( )1712/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1713 112 | auto unique = (expr); \1714 | ^1715 | ( )1716/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1717 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1718 | ^ 1719 | ( )1720/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1721 118 | out = std::move((unique).value());1722 | ^1723 | ( )1724/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1725 125 | auto unique = (expr); \1726 | ^1727 | ( )1728/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1729 131 | out = (unique).value();1730 | ^1731 | ( )1732/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1733 151 | out = LINEIZE(res, __LINE__).value();1734 | ^1735 | ( )17361737[32/47][177.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/serialization.cpp1738/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1739 26 | explicit WindowResized(float width, float height)1740 | ^~~~~~~~~~~~~~~~~~~~~~~~~1741/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'1742 26 | explicit WindowResized(float width, float height)1743 | ^~~~~1744/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'1745 26 | explicit WindowResized(float width, float height)1746 | ^~~~~~1747/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1748 26 | const std::array kTriangleVertices = {1749 | ^1750/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1751 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1752 | ^1753/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1754 32 | const std::array kQuadVertices = {1755 | ^1756/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1757 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1758 | ^1759/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1760 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};1761 | ^1762/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here1763 698 | vector(initializer_list<value_type> __l,1764 | ^1765/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]1766 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));1767 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1768/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]1769 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));1770 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1771/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1772 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1773 | ^ 1774 | != 01775/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1776 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {1777 | ~~~~~^~~~1778/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1779 56 | if (std::strcmp(ext.layerName, name.data())) {1780 | ^ 1781 | != 01782/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1783 56 | if (std::strcmp(ext.layerName, name.data())) {1784 | ~~~~~^~~~1785/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]1786 71 | if (std::strcmp(ext.extensionName, name.data())) {1787 | ^ 1788 | != 01789/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]1790 71 | if (std::strcmp(ext.extensionName, name.data())) {1791 | ~~~~~^~~~1792/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1793 29 | inline auto ortho(T left, T right, T bottom, T top) {1794 | ^~~~~~~~~~~~~~~~~1795/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'1796 29 | inline auto ortho(T left, T right, T bottom, T top) {1797 | ^~~~~1798/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'1799 29 | inline auto ortho(T left, T right, T bottom, T top) {1800 | ^~~~~~1801/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1802 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1803 | ^~~~~~~~~~~~~~~~~1804/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'1805 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1806 | ^~~~~1807/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'1808 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1809 | ^~~~~~1810/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1811 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1812 | ^~~~~~~~~~~~~1813/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'1814 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1815 | ^~~1816/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'1817 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {1818 | ^~~~1819/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1820 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1821 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~1822/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'1823 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1824 | ^~~~~1825/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'1826 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {1827 | ^~~~~~1828/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]1829 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}1830 | ^1831/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here1832 198 | struct Vec4f : Vec<float, 4> {1833 | ^1834/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here1835/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1836 37 | return level.value();1837 | ^~~~~1838/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1839 32 | if (case_insensitive && boost::iequals(name, described)) {1840 | ^1841/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1842 35 | } else if (!case_insensitive && name == described) {1843 | ^1844/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1845 35 | } else if (!case_insensitive && name == described) {1846 | ^1847/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1848 12 | struct std::formatter<T, char> {1849 | ^1850/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1851 66 | struct std::formatter<T, char> {1852 | ^1853/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1854 97 | struct std::formatter<std::vector<T>, char> {1855 | ^1856/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1857 126 | struct std::formatter<std::array<T, N>, char> {1858 | ^1859/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1860 155 | struct std::formatter<std::map<Key, Val>, char> {1861 | ^1862/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1863 184 | struct std::formatter<std::filesystem::path, char> {1864 | ^1865/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1866 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1867 | ^1868 | ( )1869/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1870 112 | auto unique = (expr); \1871 | ^1872 | ( )1873/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1874 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1875 | ^ 1876 | ( )1877/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1878 118 | out = std::move((unique).value());1879 | ^1880 | ( )1881/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1882 125 | auto unique = (expr); \1883 | ^1884 | ( )1885/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1886 131 | out = (unique).value();1887 | ^1888 | ( )1889/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1890 151 | out = LINEIZE(res, __LINE__).value();1891 | ^1892 | ( )1893/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1894 48 | if (unique != ::vk::Result::eSuccess) \1895 | ^1896 | ( )1897/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1898 53 | if (unique != ::vk::Result::eSuccess) \1899 | ^1900 | ( )1901/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1902 62 | if (unique != ::vk::Result::eSuccess) \1903 | ^1904 | ( )1905/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1906 71 | if (unique != ::vk::Result::eSuccess) \1907 | ^1908 | ( )19091910[33/47][157.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/window.cpp1911/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1912 26 | explicit WindowResized(float width, float height)1913 | ^~~~~~~~~~~~~~~~~~~~~~~~~1914/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'1915 26 | explicit WindowResized(float width, float height)1916 | ^~~~~1917/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'1918 26 | explicit WindowResized(float width, float height)1919 | ^~~~~~1920/build/source/wren/src/window.cpp:283:5: error: switching on non-enum value without default case may not cover all cases [bugprone-switch-missing-default-case,-warnings-as-errors]1921 283 | switch (event.type) {1922 | ^1923/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]1924 37 | return level.value();1925 | ^~~~~1926/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]1927 32 | if (case_insensitive && boost::iequals(name, described)) {1928 | ^1929/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original1930 35 | } else if (!case_insensitive && name == described) {1931 | ^1932/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here1933 35 | } else if (!case_insensitive && name == described) {1934 | ^1935/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1936 12 | struct std::formatter<T, char> {1937 | ^1938/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1939 66 | struct std::formatter<T, char> {1940 | ^1941/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1942 97 | struct std::formatter<std::vector<T>, char> {1943 | ^1944/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1945 126 | struct std::formatter<std::array<T, N>, char> {1946 | ^1947/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1948 155 | struct std::formatter<std::map<Key, Val>, char> {1949 | ^1950/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]1951 184 | struct std::formatter<std::filesystem::path, char> {1952 | ^1953/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1954 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));1955 | ^1956 | ( )1957/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1958 112 | auto unique = (expr); \1959 | ^1960 | ( )1961/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1962 113 | if (!(unique).has_value()) return std::unexpected(unique.error());1963 | ^ 1964 | ( )1965/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1966 118 | out = std::move((unique).value());1967 | ^1968 | ( )1969/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1970 125 | auto unique = (expr); \1971 | ^1972 | ( )1973/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1974 131 | out = (unique).value();1975 | ^1976 | ( )1977/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]1978 151 | out = LINEIZE(res, __LINE__).value();1979 | ^1980 | ( )19811982[34/47][160.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/renderer.cpp1983/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]1984 26 | explicit WindowResized(float width, float height)1985 | ^~~~~~~~~~~~~~~~~~~~~~~~~1986/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'1987 26 | explicit WindowResized(float width, float height)1988 | ^~~~~1989/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'1990 26 | explicit WindowResized(float width, float height)1991 | ^~~~~~1992/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1993 26 | const std::array kTriangleVertices = {1994 | ^1995/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here1996 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}1997 | ^1998/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]1999 32 | const std::array kQuadVertices = {2000 | ^2001/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2002 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2003 | ^2004/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2005 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};2006 | ^2007/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here2008 698 | vector(initializer_list<value_type> __l,2009 | ^2010/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]2011 67 | ::vk::SampleCountFlagBits sample_count_{};2012 | ^2013/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here2014 2655 | enum class SampleCountFlagBits : VkSampleCountFlags2015 | ^2016/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2017 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2018 | ^ 2019 | != 02020/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2021 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2022 | ~~~~~^~~~2023/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2024 56 | if (std::strcmp(ext.layerName, name.data())) {2025 | ^ 2026 | != 02027/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2028 56 | if (std::strcmp(ext.layerName, name.data())) {2029 | ~~~~~^~~~2030/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2031 71 | if (std::strcmp(ext.extensionName, name.data())) {2032 | ^ 2033 | != 02034/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2035 71 | if (std::strcmp(ext.extensionName, name.data())) {2036 | ~~~~~^~~~2037/build/source/wren/src/renderer.cpp:44:7: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2038 44 | recreate_swapchain();2039 | ^~~~~~~~~~~~~~~~~~~~2040/build/source/wren/src/renderer.cpp:44:7: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2041 44 | recreate_swapchain();2042 | ^~~~~~~~~~~~~~~~~~~~2043/build/source/wren/src/renderer.cpp:49:49: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2044 49 | render_targets_.at(kSwapchainRendertargetName.data())2045 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~2046/build/source/wren/src/renderer.cpp:83:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2047 83 | recreate_swapchain();2048 | ^~~~~~~~~~~~~~~~~~~~2049/build/source/wren/src/renderer.cpp:83:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2050 83 | recreate_swapchain();2051 | ^~~~~~~~~~~~~~~~~~~~2052/build/source/wren/src/renderer.cpp:118:9: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2053 118 | recreate_swapchain();2054 | ^~~~~~~~~~~~~~~~~~~~2055/build/source/wren/src/renderer.cpp:118:9: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2056 118 | recreate_swapchain();2057 | ^~~~~~~~~~~~~~~~~~~~2058/build/source/wren/src/renderer.cpp:124:13: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2059 124 | n->render_pass->resize_target({w.width, w.height});2060 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2061/build/source/wren/src/renderer.cpp:124:13: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2062 124 | n->render_pass->resize_target({w.width, w.height});2063 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2064/build/source/wren/src/renderer.cpp:192:59: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2065 192 | if (render_targets_.contains(kSwapchainRendertargetName.data())) {2066 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~2067/build/source/wren/src/renderer.cpp:285:60: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2068 285 | if (!render_targets_.contains(kSwapchainRendertargetName.data())) {2069 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~2070/build/source/wren/src/renderer.cpp:296:72: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2071 296 | const auto& target = render_targets_.at(kSwapchainRendertargetName.data());2072 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~2073/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]2074 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}2075 | ^2076/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here2077 198 | struct Vec4f : Vec<float, 4> {2078 | ^2079/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here2080/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2081 37 | return level.value();2082 | ^~~~~2083/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]2084 32 | if (case_insensitive && boost::iequals(name, described)) {2085 | ^2086/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original2087 35 | } else if (!case_insensitive && name == described) {2088 | ^2089/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here2090 35 | } else if (!case_insensitive && name == described) {2091 | ^2092/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2093 12 | struct std::formatter<T, char> {2094 | ^2095/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2096 66 | struct std::formatter<T, char> {2097 | ^2098/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2099 97 | struct std::formatter<std::vector<T>, char> {2100 | ^2101/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2102 126 | struct std::formatter<std::array<T, N>, char> {2103 | ^2104/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2105 155 | struct std::formatter<std::map<Key, Val>, char> {2106 | ^2107/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2108 184 | struct std::formatter<std::filesystem::path, char> {2109 | ^2110/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2111 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));2112 | ^2113 | ( )2114/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2115 112 | auto unique = (expr); \2116 | ^2117 | ( )2118/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2119 113 | if (!(unique).has_value()) return std::unexpected(unique.error());2120 | ^ 2121 | ( )2122/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2123 118 | out = std::move((unique).value());2124 | ^2125 | ( )2126/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2127 125 | auto unique = (expr); \2128 | ^2129 | ( )2130/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2131 131 | out = (unique).value();2132 | ^2133 | ( )2134/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2135 151 | out = LINEIZE(res, __LINE__).value();2136 | ^2137 | ( )2138/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2139 48 | if (unique != ::vk::Result::eSuccess) \2140 | ^2141 | ( )2142/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2143 53 | if (unique != ::vk::Result::eSuccess) \2144 | ^2145 | ( )2146/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2147 62 | if (unique != ::vk::Result::eSuccess) \2148 | ^2149 | ( )2150/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2151 71 | if (unique != ::vk::Result::eSuccess) \2152 | ^2153 | ( )21542155[35/47][25.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/scene_panel.cpp2156/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2157 29 | inline auto ortho(T left, T right, T bottom, T top) {2158 | ^~~~~~~~~~~~~~~~~2159/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'2160 29 | inline auto ortho(T left, T right, T bottom, T top) {2161 | ^~~~~2162/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'2163 29 | inline auto ortho(T left, T right, T bottom, T top) {2164 | ^~~~~~2165/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2166 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2167 | ^~~~~~~~~~~~~~~~~2168/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'2169 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2170 | ^~~~~2171/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'2172 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2173 | ^~~~~~2174/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2175 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2176 | ^~~~~~~~~~~~~2177/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'2178 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2179 | ^~~2180/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'2181 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2182 | ^~~~2183/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2184 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2185 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~2186/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'2187 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2188 | ^~~~~2189/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'2190 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2191 | ^~~~~~2192/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]2193 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}2194 | ^2195/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here2196 198 | struct Vec4f : Vec<float, 4> {2197 | ^2198/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here21992200[36/47][185.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/editor.cpp2201/build/source/editor/src/camera.hpp:12:10: error: 4 adjacent parameters of 'Camera' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2202 12 | Camera(float fov, float aspect_ratio, float z_near, float z_far)2203 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2204/build/source/editor/src/camera.hpp:12:16: note: the first parameter in the range is 'fov'2205 12 | Camera(float fov, float aspect_ratio, float z_near, float z_far)2206 | ^~~2207/build/source/editor/src/camera.hpp:12:61: note: the last parameter in the range is 'z_far'2208 12 | Camera(float fov, float aspect_ratio, float z_near, float z_far)2209 | ^~~~~2210/build/source/editor/src/editor.cpp:29:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2211 29 | editor->load_scene();2212 | ^~~~~~~~~~~~~~~~~~~~2213/build/source/editor/src/editor.cpp:29:3: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2214 29 | editor->load_scene();2215 | ^~~~~~~~~~~~~~~~~~~~2216/build/source/editor/src/editor.cpp:51:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2217 51 | editor::ui::init(app->context());2218 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2219/build/source/editor/src/editor.cpp:51:3: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2220 51 | editor::ui::init(app->context());2221 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2222/build/source/editor/src/editor.cpp:65:16: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2223 65 | editor->dset_[0] =2224 | ^~~2225/build/source/editor/src/editor.cpp:87:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2226 87 | mesh_pass->resize_target(scene_resized_.value());2227 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2228/build/source/editor/src/editor.cpp:87:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2229 87 | mesh_pass->resize_target(scene_resized_.value());2230 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2231/build/source/editor/src/editor.cpp:94:41: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2232 94 | ImGui_ImplVulkan_RemoveTexture(dset_[0]);2233 | ^~~2234/build/source/editor/src/editor.cpp:95:10: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2235 95 | dset_[0] = ImGui_ImplVulkan_AddTexture(2236 | ^~~2237/build/source/editor/src/editor.cpp:129:9: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2238 129 | wren::scene::serialize(scene_, file);2239 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2240/build/source/editor/src/editor.cpp:129:9: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2241 129 | wren::scene::serialize(scene_, file);2242 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2243/build/source/editor/src/editor.cpp:186:21: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2244 186 | ImGui::Image(dset_[0], {static_cast<float>(last_scene_size_.x()),2245 | ^~~2246/build/source/editor/src/editor.cpp:205:15: error: unused local variable 'scene_name' of type 'std::string' (aka 'basic_string<char>') [bugprone-unused-local-non-trivial-variable,-warnings-as-errors]2247 205 | std::string scene_name;2248 | ^2249/build/source/editor/src/editor.cpp:207:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2250 207 | wren::scene::deserialize(editor_context_.project_path, "scene.wren", scene_);2251 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2252/build/source/editor/src/editor.cpp:207:3: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2253 207 | wren::scene::deserialize(editor_context_.project_path, "scene.wren", scene_);2254 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2255/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2256 26 | explicit WindowResized(float width, float height)2257 | ^~~~~~~~~~~~~~~~~~~~~~~~~2258/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'2259 26 | explicit WindowResized(float width, float height)2260 | ^~~~~2261/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'2262 26 | explicit WindowResized(float width, float height)2263 | ^~~~~~2264/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2265 26 | const std::array kTriangleVertices = {2266 | ^2267/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2268 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2269 | ^2270/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2271 32 | const std::array kQuadVertices = {2272 | ^2273/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2274 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2275 | ^2276/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2277 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};2278 | ^2279/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here2280 698 | vector(initializer_list<value_type> __l,2281 | ^2282/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]2283 67 | ::vk::SampleCountFlagBits sample_count_{};2284 | ^2285/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here2286 2655 | enum class SampleCountFlagBits : VkSampleCountFlags2287 | ^2288/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2289 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));2290 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2291/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2292 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));2293 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2294/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2295 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2296 | ^ 2297 | != 02298/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2299 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2300 | ~~~~~^~~~2301/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2302 56 | if (std::strcmp(ext.layerName, name.data())) {2303 | ^ 2304 | != 02305/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2306 56 | if (std::strcmp(ext.layerName, name.data())) {2307 | ~~~~~^~~~2308/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2309 71 | if (std::strcmp(ext.extensionName, name.data())) {2310 | ^ 2311 | != 02312/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2313 71 | if (std::strcmp(ext.extensionName, name.data())) {2314 | ~~~~~^~~~2315/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2316 29 | inline auto ortho(T left, T right, T bottom, T top) {2317 | ^~~~~~~~~~~~~~~~~2318/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'2319 29 | inline auto ortho(T left, T right, T bottom, T top) {2320 | ^~~~~2321/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'2322 29 | inline auto ortho(T left, T right, T bottom, T top) {2323 | ^~~~~~2324/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2325 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2326 | ^~~~~~~~~~~~~~~~~2327/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'2328 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2329 | ^~~~~2330/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'2331 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2332 | ^~~~~~2333/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2334 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2335 | ^~~~~~~~~~~~~2336/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'2337 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2338 | ^~~2339/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'2340 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2341 | ^~~~2342/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2343 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2344 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~2345/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'2346 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2347 | ^~~~~2348/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'2349 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2350 | ^~~~~~2351/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]2352 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}2353 | ^2354/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here2355 198 | struct Vec4f : Vec<float, 4> {2356 | ^2357/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here2358/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2359 37 | return level.value();2360 | ^~~~~2361/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]2362 32 | if (case_insensitive && boost::iequals(name, described)) {2363 | ^2364/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original2365 35 | } else if (!case_insensitive && name == described) {2366 | ^2367/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here2368 35 | } else if (!case_insensitive && name == described) {2369 | ^2370/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2371 12 | struct std::formatter<T, char> {2372 | ^2373/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2374 66 | struct std::formatter<T, char> {2375 | ^2376/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2377 97 | struct std::formatter<std::vector<T>, char> {2378 | ^2379/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2380 126 | struct std::formatter<std::array<T, N>, char> {2381 | ^2382/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2383 155 | struct std::formatter<std::map<Key, Val>, char> {2384 | ^2385/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2386 184 | struct std::formatter<std::filesystem::path, char> {2387 | ^2388/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2389 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));2390 | ^2391 | ( )2392/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2393 112 | auto unique = (expr); \2394 | ^2395 | ( )2396/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2397 113 | if (!(unique).has_value()) return std::unexpected(unique.error());2398 | ^ 2399 | ( )2400/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2401 118 | out = std::move((unique).value());2402 | ^2403 | ( )2404/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2405 125 | auto unique = (expr); \2406 | ^2407 | ( )2408/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2409 131 | out = (unique).value();2410 | ^2411 | ( )2412/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2413 151 | out = LINEIZE(res, __LINE__).value();2414 | ^2415 | ( )2416/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2417 48 | if (unique != ::vk::Result::eSuccess) \2418 | ^2419 | ( )2420/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2421 53 | if (unique != ::vk::Result::eSuccess) \2422 | ^2423 | ( )2424/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2425 62 | if (unique != ::vk::Result::eSuccess) \2426 | ^2427 | ( )2428/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2429 71 | if (unique != ::vk::Result::eSuccess) \2430 | ^2431 | ( )24322433[37/47][84.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/utils/queue.cpp2434/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]2435 32 | if (case_insensitive && boost::iequals(name, described)) {2436 | ^2437/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original2438 35 | } else if (!case_insensitive && name == described) {2439 | ^2440/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here2441 35 | } else if (!case_insensitive && name == described) {2442 | ^2443/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2444 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));2445 | ^2446 | ( )2447/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2448 112 | auto unique = (expr); \2449 | ^2450 | ( )2451/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2452 113 | if (!(unique).has_value()) return std::unexpected(unique.error());2453 | ^ 2454 | ( )2455/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2456 118 | out = std::move((unique).value());2457 | ^2458 | ( )2459/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2460 125 | auto unique = (expr); \2461 | ^2462 | ( )2463/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2464 131 | out = (unique).value();2465 | ^2466 | ( )2467/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2468 151 | out = LINEIZE(res, __LINE__).value();2469 | ^2470 | ( )2471/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2472 48 | if (unique != ::vk::Result::eSuccess) \2473 | ^2474 | ( )2475/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2476 53 | if (unique != ::vk::Result::eSuccess) \2477 | ^2478 | ( )2479/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2480 62 | if (unique != ::vk::Result::eSuccess) \2481 | ^2482 | ( )2483/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2484 71 | if (unique != ::vk::Result::eSuccess) \2485 | ^2486 | ( )24872488[38/47][99.2s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/utils/vulkan.cpp2489/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2490 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2491 | ^ 2492 | != 02493/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2494 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2495 | ~~~~~^~~~2496/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2497 56 | if (std::strcmp(ext.layerName, name.data())) {2498 | ^ 2499 | != 02500/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2501 56 | if (std::strcmp(ext.layerName, name.data())) {2502 | ~~~~~^~~~2503/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2504 71 | if (std::strcmp(ext.extensionName, name.data())) {2505 | ^ 2506 | != 02507/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2508 71 | if (std::strcmp(ext.extensionName, name.data())) {2509 | ~~~~~^~~~2510/build/source/wren/src/utils/vulkan.cpp:38:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2511 38 | if (out == nullptr) { \2512 | ^2513 | ( )2514/build/source/wren/src/utils/vulkan.cpp:39:5: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2515 39 | out = reinterpret_cast<PFN_##fn_name>(instance.getProcAddr(#fn_name)); \2516 | ^2517 | ( )2518/build/source/wren/src/utils/vulkan.cpp:40:9: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2519 40 | if (out == nullptr) \2520 | ^2521 | ( )2522/build/source/wren/src/utils/vulkan.cpp:46:3: error: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast,-warnings-as-errors]2523 46 | LOAD_VULKAN_PFN(pfnVkCmdPushConstants, vkCmdPushConstants);2524 | ^2525/build/source/wren/src/utils/vulkan.cpp:39:11: note: expanded from macro 'LOAD_VULKAN_PFN'2526 39 | out = reinterpret_cast<PFN_##fn_name>(instance.getProcAddr(#fn_name)); \2527 | ^2528/build/source/wren/src/utils/vulkan.cpp:47:3: error: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast,-warnings-as-errors]2529 47 | LOAD_VULKAN_PFN(pfnVkCreateDebugUtilsMessengerEXT,2530 | ^2531/build/source/wren/src/utils/vulkan.cpp:39:11: note: expanded from macro 'LOAD_VULKAN_PFN'2532 39 | out = reinterpret_cast<PFN_##fn_name>(instance.getProcAddr(#fn_name)); \2533 | ^2534/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2535 37 | return level.value();2536 | ^~~~~2537/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]2538 32 | if (case_insensitive && boost::iequals(name, described)) {2539 | ^2540/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original2541 35 | } else if (!case_insensitive && name == described) {2542 | ^2543/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here2544 35 | } else if (!case_insensitive && name == described) {2545 | ^2546/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2547 12 | struct std::formatter<T, char> {2548 | ^2549/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2550 66 | struct std::formatter<T, char> {2551 | ^2552/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2553 97 | struct std::formatter<std::vector<T>, char> {2554 | ^2555/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2556 126 | struct std::formatter<std::array<T, N>, char> {2557 | ^2558/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2559 155 | struct std::formatter<std::map<Key, Val>, char> {2560 | ^2561/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2562 184 | struct std::formatter<std::filesystem::path, char> {2563 | ^2564/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2565 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));2566 | ^2567 | ( )2568/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2569 112 | auto unique = (expr); \2570 | ^2571 | ( )2572/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2573 113 | if (!(unique).has_value()) return std::unexpected(unique.error());2574 | ^ 2575 | ( )2576/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2577 118 | out = std::move((unique).value());2578 | ^2579 | ( )2580/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2581 125 | auto unique = (expr); \2582 | ^2583 | ( )2584/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2585 131 | out = (unique).value();2586 | ^2587 | ( )2588/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2589 151 | out = LINEIZE(res, __LINE__).value();2590 | ^2591 | ( )2592/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2593 48 | if (unique != ::vk::Result::eSuccess) \2594 | ^2595 | ( )2596/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2597 53 | if (unique != ::vk::Result::eSuccess) \2598 | ^2599 | ( )2600/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2601 62 | if (unique != ::vk::Result::eSuccess) \2602 | ^2603 | ( )2604/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2605 71 | if (unique != ::vk::Result::eSuccess) \2606 | ^2607 | ( )26082609[39/47][107.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/deserialization.cpp2610/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2611 26 | explicit WindowResized(float width, float height)2612 | ^~~~~~~~~~~~~~~~~~~~~~~~~2613/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'2614 26 | explicit WindowResized(float width, float height)2615 | ^~~~~2616/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'2617 26 | explicit WindowResized(float width, float height)2618 | ^~~~~~2619/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2620 26 | const std::array kTriangleVertices = {2621 | ^2622/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2623 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2624 | ^2625/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2626 32 | const std::array kQuadVertices = {2627 | ^2628/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2629 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2630 | ^2631/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2632 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};2633 | ^2634/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here2635 698 | vector(initializer_list<value_type> __l,2636 | ^2637/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2638 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));2639 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2640/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2641 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));2642 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2643/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2644 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2645 | ^ 2646 | != 02647/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2648 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2649 | ~~~~~^~~~2650/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2651 56 | if (std::strcmp(ext.layerName, name.data())) {2652 | ^ 2653 | != 02654/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2655 56 | if (std::strcmp(ext.layerName, name.data())) {2656 | ~~~~~^~~~2657/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2658 71 | if (std::strcmp(ext.extensionName, name.data())) {2659 | ^ 2660 | != 02661/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2662 71 | if (std::strcmp(ext.extensionName, name.data())) {2663 | ~~~~~^~~~2664/build/source/wren/src/scene/deserialization.cpp:23:32: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2665 23 | for (const auto& e : *table["entities"].as_array()) {2666 | ^~~~~~~~~~~~2667/build/source/wren/src/scene/deserialization.cpp:26:44: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2668 26 | scene->create_entity(entity_table["name"].as_string()->get());2669 | ^~~~~~~~2670/build/source/wren/src/scene/deserialization.cpp:45:21: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2671 45 | deserialize(*table["position"].as_table(), transform.position);2672 | ^~~~~~~~~~~~2673/build/source/wren/src/scene/deserialization.cpp:46:21: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2674 46 | deserialize(*table["rotation"].as_table(), transform.rotation);2675 | ^~~~~~~~~~~~2676/build/source/wren/src/scene/deserialization.cpp:47:21: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2677 47 | deserialize(*table["scale"].as_table(), transform.scale);2678 | ^~~~~~~~~2679/build/source/wren/src/scene/deserialization.cpp:53:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2680 53 | mesh_renderer.update_mesh(project_root, *table["path"].value<std::string>());2681 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2682/build/source/wren/src/scene/deserialization.cpp:53:3: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2683 53 | mesh_renderer.update_mesh(project_root, *table["path"].value<std::string>());2684 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2685/build/source/wren/src/scene/deserialization.cpp:53:44: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2686 53 | mesh_renderer.update_mesh(project_root, *table["path"].value<std::string>());2687 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2688/build/source/wren/src/scene/deserialization.cpp:53:49: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2689 53 | mesh_renderer.update_mesh(project_root, *table["path"].value<std::string>());2690 | ^~~~~~~~2691/build/source/wren/src/scene/deserialization.cpp:57:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2692 57 | vec.x(*table["x"].value<float>());2693 | ^~~~~~~~~~~~~~~~~~~~~~~~~2694/build/source/wren/src/scene/deserialization.cpp:57:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2695 57 | vec.x(*table["x"].value<float>());2696 | ^~~~~2697/build/source/wren/src/scene/deserialization.cpp:58:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2698 58 | vec.y(*table["y"].value<float>());2699 | ^~~~~~~~~~~~~~~~~~~~~~~~~2700/build/source/wren/src/scene/deserialization.cpp:58:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2701 58 | vec.y(*table["y"].value<float>());2702 | ^~~~~2703/build/source/wren/src/scene/deserialization.cpp:59:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2704 59 | vec.z(*table["z"].value<float>());2705 | ^~~~~~~~~~~~~~~~~~~~~~~~~2706/build/source/wren/src/scene/deserialization.cpp:59:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors]2707 59 | vec.z(*table["z"].value<float>());2708 | ^~~~~2709/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2710 29 | inline auto ortho(T left, T right, T bottom, T top) {2711 | ^~~~~~~~~~~~~~~~~2712/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'2713 29 | inline auto ortho(T left, T right, T bottom, T top) {2714 | ^~~~~2715/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'2716 29 | inline auto ortho(T left, T right, T bottom, T top) {2717 | ^~~~~~2718/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2719 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2720 | ^~~~~~~~~~~~~~~~~2721/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'2722 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2723 | ^~~~~2724/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'2725 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2726 | ^~~~~~2727/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2728 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2729 | ^~~~~~~~~~~~~2730/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'2731 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2732 | ^~~2733/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'2734 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {2735 | ^~~~2736/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2737 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2738 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~2739/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'2740 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2741 | ^~~~~2742/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'2743 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {2744 | ^~~~~~2745/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]2746 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}2747 | ^2748/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here2749 198 | struct Vec4f : Vec<float, 4> {2750 | ^2751/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here2752/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]2753 32 | if (case_insensitive && boost::iequals(name, described)) {2754 | ^2755/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original2756 35 | } else if (!case_insensitive && name == described) {2757 | ^2758/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here2759 35 | } else if (!case_insensitive && name == described) {2760 | ^2761/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2762 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));2763 | ^2764 | ( )2765/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2766 112 | auto unique = (expr); \2767 | ^2768 | ( )2769/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2770 113 | if (!(unique).has_value()) return std::unexpected(unique.error());2771 | ^ 2772 | ( )2773/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2774 118 | out = std::move((unique).value());2775 | ^2776 | ( )2777/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2778 125 | auto unique = (expr); \2779 | ^2780 | ( )2781/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2782 131 | out = (unique).value();2783 | ^2784 | ( )2785/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2786 151 | out = LINEIZE(res, __LINE__).value();2787 | ^2788 | ( )2789/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2790 48 | if (unique != ::vk::Result::eSuccess) \2791 | ^2792 | ( )2793/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2794 53 | if (unique != ::vk::Result::eSuccess) \2795 | ^2796 | ( )2797/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2798 62 | if (unique != ::vk::Result::eSuccess) \2799 | ^2800 | ( )2801/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2802 71 | if (unique != ::vk::Result::eSuccess) \2803 | ^2804 | ( )28052806[40/47][103.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/mesh_loader.cpp2807/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2808 26 | const std::array kTriangleVertices = {2809 | ^2810/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2811 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2812 | ^2813/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2814 32 | const std::array kQuadVertices = {2815 | ^2816/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2817 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2818 | ^2819/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2820 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};2821 | ^2822/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here2823 698 | vector(initializer_list<value_type> __l,2824 | ^2825/build/source/wren/src/mesh_loader.cpp:33:20: error: performing an implicit widening conversion to type 'size_type' (aka 'unsigned long') of a multiplication performed in type 'unsigned int' [bugprone-implicit-widening-of-multiplication-result,-warnings-as-errors]2826 33 | vertices.reserve(triangles * 3);2827 | ^2828/build/source/wren/src/mesh_loader.cpp:33:20: note: make conversion explicit to silence this warning2829 4 | vertices.reserve(triangles * 3);2830 | ^~~~~~~~~~~~~2831 | static_cast<size_type>( )2832/build/source/wren/src/mesh_loader.cpp:33:20: note: perform multiplication in a wider type2833 33 | vertices.reserve(triangles * 3);2834 | ^~~~~~~~~2835 | static_cast<size_type>( )2836/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]2837 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}2838 | ^2839/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here2840 198 | struct Vec4f : Vec<float, 4> {2841 | ^2842/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here2843/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2844 37 | return level.value();2845 | ^~~~~2846/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]2847 32 | if (case_insensitive && boost::iequals(name, described)) {2848 | ^2849/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original2850 35 | } else if (!case_insensitive && name == described) {2851 | ^2852/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here2853 35 | } else if (!case_insensitive && name == described) {2854 | ^2855/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2856 12 | struct std::formatter<T, char> {2857 | ^2858/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2859 66 | struct std::formatter<T, char> {2860 | ^2861/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2862 97 | struct std::formatter<std::vector<T>, char> {2863 | ^2864/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2865 126 | struct std::formatter<std::array<T, N>, char> {2866 | ^2867/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2868 155 | struct std::formatter<std::map<Key, Val>, char> {2869 | ^2870/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]2871 184 | struct std::formatter<std::filesystem::path, char> {2872 | ^2873/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2874 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));2875 | ^2876 | ( )2877/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2878 112 | auto unique = (expr); \2879 | ^2880 | ( )2881/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2882 113 | if (!(unique).has_value()) return std::unexpected(unique.error());2883 | ^ 2884 | ( )2885/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2886 118 | out = std::move((unique).value());2887 | ^2888 | ( )2889/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2890 125 | auto unique = (expr); \2891 | ^2892 | ( )2893/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2894 131 | out = (unique).value();2895 | ^2896 | ( )2897/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2898 151 | out = LINEIZE(res, __LINE__).value();2899 | ^2900 | ( )2901/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2902 48 | if (unique != ::vk::Result::eSuccess) \2903 | ^2904 | ( )2905/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2906 53 | if (unique != ::vk::Result::eSuccess) \2907 | ^2908 | ( )2909/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2910 62 | if (unique != ::vk::Result::eSuccess) \2911 | ^2912 | ( )2913/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]2914 71 | if (unique != ::vk::Result::eSuccess) \2915 | ^2916 | ( )29172918[41/47][138.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/main.cpp2919/build/source/editor/src/camera.hpp:12:10: error: 4 adjacent parameters of 'Camera' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2920 12 | Camera(float fov, float aspect_ratio, float z_near, float z_far)2921 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2922/build/source/editor/src/camera.hpp:12:16: note: the first parameter in the range is 'fov'2923 12 | Camera(float fov, float aspect_ratio, float z_near, float z_far)2924 | ^~~2925/build/source/editor/src/camera.hpp:12:61: note: the last parameter in the range is 'z_far'2926 12 | Camera(float fov, float aspect_ratio, float z_near, float z_far)2927 | ^~~~~2928/build/source/editor/src/main.cpp:14:6: error: an exception may be thrown in function 'main' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors]2929 14 | auto main(int argc, char** argv) -> int {2930 | ^2931/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/optional:128:5: note: frame #0: unhandled exception of type 'bad_optional_access' may be thrown in function '__throw_bad_optional_access' here2932 128 | { _GLIBCXX_THROW_OR_ABORT(bad_optional_access()); }2933 | ^2934/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/x86_64-unknown-linux-gnu/bits/c++config.h:262:42: note: expanded from macro '_GLIBCXX_THROW_OR_ABORT'2935 262 | # define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))2936 | ^2937/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/optional:1288:2: note: frame #1: function 'value' calls function '__throw_bad_optional_access' here2938 1288 | __throw_bad_optional_access();2939 | ^2940/build/source/wren_utils/include/wren/logging/log.hpp:37:10: note: frame #2: function 'get_log_level' calls function 'value' here2941 37 | return level.value();2942 | ^2943/build/source/wren_utils/include/wren/logging/log.hpp:50:7: note: frame #3: function 'debug<>' calls function 'get_log_level' here2944 50 | if (get_log_level() <= LogLevel::Debug) {2945 | ^2946/build/source/editor/src/main.cpp:22:3: note: frame #4: function 'main' calls function 'debug<>' here2947 22 | wren::log::debug("launching editor");2948 | ^2949/build/source/editor/src/main.cpp:52:48: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]2950 52 | const auto res = editor::Editor::create(app, project_path.value());2951 | ^~~~~~~~~~~~2952/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]2953 26 | explicit WindowResized(float width, float height)2954 | ^~~~~~~~~~~~~~~~~~~~~~~~~2955/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'2956 26 | explicit WindowResized(float width, float height)2957 | ^~~~~2958/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'2959 26 | explicit WindowResized(float width, float height)2960 | ^~~~~~2961/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2962 26 | const std::array kTriangleVertices = {2963 | ^2964/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2965 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2966 | ^2967/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2968 32 | const std::array kQuadVertices = {2969 | ^2970/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here2971 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}2972 | ^2973/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]2974 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};2975 | ^2976/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here2977 698 | vector(initializer_list<value_type> __l,2978 | ^2979/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]2980 67 | ::vk::SampleCountFlagBits sample_count_{};2981 | ^2982/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here2983 2655 | enum class SampleCountFlagBits : VkSampleCountFlags2984 | ^2985/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]2986 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));2987 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2988/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]2989 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));2990 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2991/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2992 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2993 | ^ 2994 | != 02995/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]2996 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {2997 | ~~~~~^~~~2998/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]2999 56 | if (std::strcmp(ext.layerName, name.data())) {3000 | ^ 3001 | != 03002/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3003 56 | if (std::strcmp(ext.layerName, name.data())) {3004 | ~~~~~^~~~3005/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3006 71 | if (std::strcmp(ext.extensionName, name.data())) {3007 | ^ 3008 | != 03009/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3010 71 | if (std::strcmp(ext.extensionName, name.data())) {3011 | ~~~~~^~~~3012/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3013 29 | inline auto ortho(T left, T right, T bottom, T top) {3014 | ^~~~~~~~~~~~~~~~~3015/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'3016 29 | inline auto ortho(T left, T right, T bottom, T top) {3017 | ^~~~~3018/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'3019 29 | inline auto ortho(T left, T right, T bottom, T top) {3020 | ^~~~~~3021/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3022 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3023 | ^~~~~~~~~~~~~~~~~3024/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'3025 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3026 | ^~~~~3027/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'3028 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3029 | ^~~~~~3030/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3031 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3032 | ^~~~~~~~~~~~~3033/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'3034 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3035 | ^~~3036/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'3037 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3038 | ^~~~3039/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3040 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {3041 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~3042/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'3043 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {3044 | ^~~~~3045/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'3046 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {3047 | ^~~~~~3048/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]3049 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}3050 | ^3051/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here3052 198 | struct Vec4f : Vec<float, 4> {3053 | ^3054/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here3055/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]3056 37 | return level.value();3057 | ^~~~~3058/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3059 32 | if (case_insensitive && boost::iequals(name, described)) {3060 | ^3061/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3062 35 | } else if (!case_insensitive && name == described) {3063 | ^3064/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3065 35 | } else if (!case_insensitive && name == described) {3066 | ^3067/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3068 12 | struct std::formatter<T, char> {3069 | ^3070/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3071 66 | struct std::formatter<T, char> {3072 | ^3073/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3074 97 | struct std::formatter<std::vector<T>, char> {3075 | ^3076/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3077 126 | struct std::formatter<std::array<T, N>, char> {3078 | ^3079/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3080 155 | struct std::formatter<std::map<Key, Val>, char> {3081 | ^3082/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3083 184 | struct std::formatter<std::filesystem::path, char> {3084 | ^3085/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3086 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3087 | ^3088 | ( )3089/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3090 112 | auto unique = (expr); \3091 | ^3092 | ( )3093/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3094 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3095 | ^ 3096 | ( )3097/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3098 118 | out = std::move((unique).value());3099 | ^3100 | ( )3101/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3102 125 | auto unique = (expr); \3103 | ^3104 | ( )3105/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3106 131 | out = (unique).value();3107 | ^3108 | ( )3109/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3110 151 | out = LINEIZE(res, __LINE__).value();3111 | ^3112 | ( )3113/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3114 48 | if (unique != ::vk::Result::eSuccess) \3115 | ^3116 | ( )3117/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3118 53 | if (unique != ::vk::Result::eSuccess) \3119 | ^3120 | ( )3121/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3122 62 | if (unique != ::vk::Result::eSuccess) \3123 | ^3124 | ( )3125/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3126 71 | if (unique != ::vk::Result::eSuccess) \3127 | ^3128 | ( )31293130[42/47][88.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/render_pass.cpp3131/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3132 26 | explicit WindowResized(float width, float height)3133 | ^~~~~~~~~~~~~~~~~~~~~~~~~3134/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'3135 26 | explicit WindowResized(float width, float height)3136 | ^~~~~3137/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'3138 26 | explicit WindowResized(float width, float height)3139 | ^~~~~~3140/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3141 26 | const std::array kTriangleVertices = {3142 | ^3143/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here3144 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}3145 | ^3146/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3147 32 | const std::array kQuadVertices = {3148 | ^3149/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here3150 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}3151 | ^3152/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3153 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};3154 | ^3155/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here3156 698 | vector(initializer_list<value_type> __l,3157 | ^3158/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]3159 67 | ::vk::SampleCountFlagBits sample_count_{};3160 | ^3161/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here3162 2655 | enum class SampleCountFlagBits : VkSampleCountFlags3163 | ^3164/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3165 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {3166 | ^ 3167 | != 03168/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3169 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {3170 | ~~~~~^~~~3171/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3172 56 | if (std::strcmp(ext.layerName, name.data())) {3173 | ^ 3174 | != 03175/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3176 56 | if (std::strcmp(ext.layerName, name.data())) {3177 | ~~~~~^~~~3178/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3179 71 | if (std::strcmp(ext.extensionName, name.data())) {3180 | ^ 3181 | != 03182/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3183 71 | if (std::strcmp(ext.extensionName, name.data())) {3184 | ~~~~~^~~~3185/build/source/wren/src/render_pass.cpp:111:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3186 111 | colour_target_->resize(ctx_, new_size);3187 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3188/build/source/wren/src/render_pass.cpp:111:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3189 111 | colour_target_->resize(ctx_, new_size);3190 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3191/build/source/wren/src/render_pass.cpp:115:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3192 115 | depth_target_->resize(ctx_, new_size);3193 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3194/build/source/wren/src/render_pass.cpp:115:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3195 115 | depth_target_->resize(ctx_, new_size);3196 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3197/build/source/wren/src/render_pass.cpp:215:37: error: 3 adjacent parameters of 'get_scratch_buffer' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3198 215 | auto RenderPass::get_scratch_buffer(uint32_t set, uint32_t binding, size_t size)3199 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3200/build/source/wren/src/render_pass.cpp:215:46: note: the first parameter in the range is 'set'3201 215 | auto RenderPass::get_scratch_buffer(uint32_t set, uint32_t binding, size_t size)3202 | ^~~3203/build/source/wren/src/render_pass.cpp:215:76: note: the last parameter in the range is 'size'3204 215 | auto RenderPass::get_scratch_buffer(uint32_t set, uint32_t binding, size_t size)3205 | ^~~~3206/build/source/wren/src/render_pass.cpp:215:37: note: 3207 215 | auto RenderPass::get_scratch_buffer(uint32_t set, uint32_t binding, size_t size)3208 | ^3209/build/source/wren/src/render_pass.cpp:215:69: note: 'uint32_t' and 'size_t' may be implicitly converted: 'uint32_t' (as 'unsigned int') -> 'size_t' (as 'unsigned long'), 'size_t' (as 'unsigned long') -> 'uint32_t' (as 'unsigned int')3210 215 | auto RenderPass::get_scratch_buffer(uint32_t set, uint32_t binding, size_t size)3211 | ^3212/build/source/wren/src/render_pass.cpp:237:24: error: 2 adjacent parameters of 'RenderPass' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3213 237 | const std::shared_ptr<RenderTarget>& colour_target,3214 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3215 238 | const std::shared_ptr<RenderTarget>& depth_target,3216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3217/build/source/wren/src/render_pass.cpp:237:61: note: the first parameter in the range is 'colour_target'3218 237 | const std::shared_ptr<RenderTarget>& colour_target,3219 | ^~~~~~~~~~~~~3220/build/source/wren/src/render_pass.cpp:238:61: note: the last parameter in the range is 'depth_target'3221 238 | const std::shared_ptr<RenderTarget>& depth_target,3222 | ^~~~~~~~~~~~3223/build/source/wren/src/render_pass.cpp:238:24: note: 'const std::shared_ptr<RenderTarget> &' and 'const std::shared_ptr<RenderTarget> &' may be implicitly converted: 'const std::shared_ptr<RenderTarget> &' (as 'std::shared_ptr<RenderTarget>') -> 'const std::shared_ptr<RenderTarget> &' (as 'std::shared_ptr<RenderTarget>'), 'const std::shared_ptr<RenderTarget> &' (as 'std::shared_ptr<RenderTarget>') -> 'const std::shared_ptr<RenderTarget> &' (as 'std::shared_ptr<RenderTarget>')3224 238 | const std::shared_ptr<RenderTarget>& depth_target,3225 | ^3226/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]3227 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}3228 | ^3229/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here3230 198 | struct Vec4f : Vec<float, 4> {3231 | ^3232/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here3233/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]3234 37 | return level.value();3235 | ^~~~~3236/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3237 32 | if (case_insensitive && boost::iequals(name, described)) {3238 | ^3239/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3240 35 | } else if (!case_insensitive && name == described) {3241 | ^3242/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3243 35 | } else if (!case_insensitive && name == described) {3244 | ^3245/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3246 12 | struct std::formatter<T, char> {3247 | ^3248/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3249 66 | struct std::formatter<T, char> {3250 | ^3251/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3252 97 | struct std::formatter<std::vector<T>, char> {3253 | ^3254/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3255 126 | struct std::formatter<std::array<T, N>, char> {3256 | ^3257/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3258 155 | struct std::formatter<std::map<Key, Val>, char> {3259 | ^3260/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3261 184 | struct std::formatter<std::filesystem::path, char> {3262 | ^3263/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3264 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3265 | ^3266 | ( )3267/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3268 112 | auto unique = (expr); \3269 | ^3270 | ( )3271/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3272 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3273 | ^ 3274 | ( )3275/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3276 118 | out = std::move((unique).value());3277 | ^3278 | ( )3279/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3280 125 | auto unique = (expr); \3281 | ^3282 | ( )3283/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3284 131 | out = (unique).value();3285 | ^3286 | ( )3287/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3288 151 | out = LINEIZE(res, __LINE__).value();3289 | ^3290 | ( )3291/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3292 48 | if (unique != ::vk::Result::eSuccess) \3293 | ^3294 | ( )3295/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3296 53 | if (unique != ::vk::Result::eSuccess) \3297 | ^3298 | ( )3299/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3300 62 | if (unique != ::vk::Result::eSuccess) \3301 | ^3302 | ( )3303/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3304 71 | if (unique != ::vk::Result::eSuccess) \3305 | ^3306 | ( )33073308[43/47][58.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/buffer.cpp3309/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3310 32 | if (case_insensitive && boost::iequals(name, described)) {3311 | ^3312/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3313 35 | } else if (!case_insensitive && name == described) {3314 | ^3315/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3316 35 | } else if (!case_insensitive && name == described) {3317 | ^3318/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3319 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3320 | ^3321 | ( )3322/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3323 112 | auto unique = (expr); \3324 | ^3325 | ( )3326/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3327 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3328 | ^ 3329 | ( )3330/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3331 118 | out = std::move((unique).value());3332 | ^3333 | ( )3334/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3335 125 | auto unique = (expr); \3336 | ^3337 | ( )3338/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3339 131 | out = (unique).value();3340 | ^3341 | ( )3342/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3343 151 | out = LINEIZE(res, __LINE__).value();3344 | ^3345 | ( )3346/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3347 48 | if (unique != ::vk::Result::eSuccess) \3348 | ^3349 | ( )3350/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3351 53 | if (unique != ::vk::Result::eSuccess) \3352 | ^3353 | ( )3354/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3355 62 | if (unique != ::vk::Result::eSuccess) \3356 | ^3357 | ( )3358/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3359 71 | if (unique != ::vk::Result::eSuccess) \3360 | ^3361 | ( )3362/build/source/wren_vk/src/buffer.cpp:13:52: error: 2 adjacent parameters of 'create' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3363 13 | auto Buffer::create(const VmaAllocator& allocator, size_t size,3364 | ^~~~~~~~~~~~3365 14 | VkBufferUsageFlags usage,3366 | ~~~~~~~~~~~~~~~~~~~~~~~~3367/build/source/wren_vk/src/buffer.cpp:13:59: note: the first parameter in the range is 'size'3368 13 | auto Buffer::create(const VmaAllocator& allocator, size_t size,3369 | ^~~~3370/build/source/wren_vk/src/buffer.cpp:14:40: note: the last parameter in the range is 'usage'3371 14 | VkBufferUsageFlags usage,3372 | ^~~~~3373/build/source/wren_vk/src/buffer.cpp:13:52: note: 3374 13 | auto Buffer::create(const VmaAllocator& allocator, size_t size,3375 | ^3376/build/source/wren_vk/src/buffer.cpp:14:21: note: 'size_t' and 'VkBufferUsageFlags' may be implicitly converted: 'size_t' (as 'unsigned long') -> 'VkBufferUsageFlags' (as 'unsigned int'), 'VkBufferUsageFlags' (as 'unsigned int') -> 'size_t' (as 'unsigned long')3377 14 | VkBufferUsageFlags usage,3378 | ^33793380[44/47][75.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/render_target.cpp3381/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3382 26 | explicit WindowResized(float width, float height)3383 | ^~~~~~~~~~~~~~~~~~~~~~~~~3384/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'3385 26 | explicit WindowResized(float width, float height)3386 | ^~~~~3387/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'3388 26 | explicit WindowResized(float width, float height)3389 | ^~~~~~3390/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3391 26 | const std::array kTriangleVertices = {3392 | ^3393/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here3394 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}3395 | ^3396/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3397 32 | const std::array kQuadVertices = {3398 | ^3399/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here3400 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}3401 | ^3402/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3403 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};3404 | ^3405/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here3406 698 | vector(initializer_list<value_type> __l,3407 | ^3408/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]3409 67 | ::vk::SampleCountFlagBits sample_count_{};3410 | ^3411/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here3412 2655 | enum class SampleCountFlagBits : VkSampleCountFlags3413 | ^3414/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3415 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {3416 | ^ 3417 | != 03418/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3419 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {3420 | ~~~~~^~~~3421/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3422 56 | if (std::strcmp(ext.layerName, name.data())) {3423 | ^ 3424 | != 03425/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3426 56 | if (std::strcmp(ext.layerName, name.data())) {3427 | ~~~~~^~~~3428/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3429 71 | if (std::strcmp(ext.extensionName, name.data())) {3430 | ^ 3431 | != 03432/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3433 71 | if (std::strcmp(ext.extensionName, name.data())) {3434 | ~~~~~^~~~3435/build/source/wren/src/render_target.cpp:48:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3436 48 | target->transition_fn_(target.get());3437 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3438/build/source/wren/src/render_target.cpp:48:25: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3439 48 | target->transition_fn_(target.get());3440 | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~3441/build/source/wren/src/render_target.cpp:103:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3442 103 | target->transition_fn_(target.get());3443 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3444/build/source/wren/src/render_target.cpp:103:25: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3445 103 | target->transition_fn_(target.get());3446 | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~3447/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]3448 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}3449 | ^3450/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here3451 198 | struct Vec4f : Vec<float, 4> {3452 | ^3453/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here3454/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3455 32 | if (case_insensitive && boost::iequals(name, described)) {3456 | ^3457/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3458 35 | } else if (!case_insensitive && name == described) {3459 | ^3460/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3461 35 | } else if (!case_insensitive && name == described) {3462 | ^3463/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3464 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3465 | ^3466 | ( )3467/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3468 112 | auto unique = (expr); \3469 | ^3470 | ( )3471/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3472 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3473 | ^ 3474 | ( )3475/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3476 118 | out = std::move((unique).value());3477 | ^3478 | ( )3479/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3480 125 | auto unique = (expr); \3481 | ^3482 | ( )3483/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3484 131 | out = (unique).value();3485 | ^3486 | ( )3487/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3488 151 | out = LINEIZE(res, __LINE__).value();3489 | ^3490 | ( )3491/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3492 48 | if (unique != ::vk::Result::eSuccess) \3493 | ^3494 | ( )3495/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3496 53 | if (unique != ::vk::Result::eSuccess) \3497 | ^3498 | ( )3499/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3500 62 | if (unique != ::vk::Result::eSuccess) \3501 | ^3502 | ( )3503/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3504 71 | if (unique != ::vk::Result::eSuccess) \3505 | ^3506 | ( )35073508[45/47][59.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/utils/device.cpp3509/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3510 32 | if (case_insensitive && boost::iequals(name, described)) {3511 | ^3512/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3513 35 | } else if (!case_insensitive && name == described) {3514 | ^3515/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3516 35 | } else if (!case_insensitive && name == described) {3517 | ^3518/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3519 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3520 | ^3521 | ( )3522/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3523 112 | auto unique = (expr); \3524 | ^3525 | ( )3526/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3527 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3528 | ^ 3529 | ( )3530/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3531 118 | out = std::move((unique).value());3532 | ^3533 | ( )3534/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3535 125 | auto unique = (expr); \3536 | ^3537 | ( )3538/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3539 131 | out = (unique).value();3540 | ^3541 | ( )3542/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3543 151 | out = LINEIZE(res, __LINE__).value();3544 | ^3545 | ( )3546/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3547 48 | if (unique != ::vk::Result::eSuccess) \3548 | ^3549 | ( )3550/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3551 53 | if (unique != ::vk::Result::eSuccess) \3552 | ^3553 | ( )3554/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3555 62 | if (unique != ::vk::Result::eSuccess) \3556 | ^3557 | ( )3558/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3559 71 | if (unique != ::vk::Result::eSuccess) \3560 | ^3561 | ( )35623563[46/47][63.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_gui/src/instance.cpp3564/build/source/wren_gui/src/instance.cpp:37:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3565 37 | const std::vector<uint16_t> kQuadIndices = {0, 1, 3, 3, 1, 2};3566 | ^3567/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here3568 698 | vector(initializer_list<value_type> __l,3569 | ^3570/build/source/wren_gui/src/instance.cpp:100:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3571 100 | staging_buffer->set_data_raw<Vertex>(data);3572 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3573/build/source/wren_gui/src/instance.cpp:100:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3574 100 | staging_buffer->set_data_raw<Vertex>(data);3575 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3576/build/source/wren_gui/src/instance.cpp:106:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3577 106 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),3578 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3579 107 | device.command_pool(), staging_buffer,3580 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3581 108 | vertex_buffer_, data.size_bytes());3582 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3583/build/source/wren_gui/src/instance.cpp:106:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3584 106 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),3585 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3586 107 | device.command_pool(), staging_buffer,3587 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3588 108 | vertex_buffer_, data.size_bytes());3589 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3590/build/source/wren_gui/src/instance.cpp:119:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3591 119 | staging_buffer->set_data_raw<std::int16_t>(data);3592 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3593/build/source/wren_gui/src/instance.cpp:119:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3594 119 | staging_buffer->set_data_raw<std::int16_t>(data);3595 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3596/build/source/wren_gui/src/instance.cpp:125:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3597 125 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),3598 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3599 126 | device.command_pool(), staging_buffer,3600 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3601 127 | index_buffer_, data.size_bytes());3602 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3603/build/source/wren_gui/src/instance.cpp:125:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3604 125 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(),3605 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3606 126 | device.command_pool(), staging_buffer,3607 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3608 127 | index_buffer_, data.size_bytes());3609 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3610/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]3611 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}3612 | ^3613/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here3614 198 | struct Vec4f : Vec<float, 4> {3615 | ^3616/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here3617/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]3618 37 | return level.value();3619 | ^~~~~3620/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3621 32 | if (case_insensitive && boost::iequals(name, described)) {3622 | ^3623/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3624 35 | } else if (!case_insensitive && name == described) {3625 | ^3626/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3627 35 | } else if (!case_insensitive && name == described) {3628 | ^3629/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3630 12 | struct std::formatter<T, char> {3631 | ^3632/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3633 66 | struct std::formatter<T, char> {3634 | ^3635/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3636 97 | struct std::formatter<std::vector<T>, char> {3637 | ^3638/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3639 126 | struct std::formatter<std::array<T, N>, char> {3640 | ^3641/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3642 155 | struct std::formatter<std::map<Key, Val>, char> {3643 | ^3644/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3645 184 | struct std::formatter<std::filesystem::path, char> {3646 | ^3647/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3648 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3649 | ^3650 | ( )3651/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3652 112 | auto unique = (expr); \3653 | ^3654 | ( )3655/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3656 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3657 | ^ 3658 | ( )3659/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3660 118 | out = std::move((unique).value());3661 | ^3662 | ( )3663/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3664 125 | auto unique = (expr); \3665 | ^3666 | ( )3667/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3668 131 | out = (unique).value();3669 | ^3670 | ( )3671/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3672 151 | out = LINEIZE(res, __LINE__).value();3673 | ^3674 | ( )3675/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3676 48 | if (unique != ::vk::Result::eSuccess) \3677 | ^3678 | ( )3679/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3680 53 | if (unique != ::vk::Result::eSuccess) \3681 | ^3682 | ( )3683/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3684 62 | if (unique != ::vk::Result::eSuccess) \3685 | ^3686 | ( )3687/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3688 71 | if (unique != ::vk::Result::eSuccess) \3689 | ^3690 | ( )36913692[47/47][69.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/examples/nand/main.cpp3693/build/source/examples/nand/main.cpp:62:29: error: performing an implicit widening conversion to type 'VkDeviceSize' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result,-warnings-as-errors]3694 62 | VkDeviceSize image_size = tex_width * tex_height * tex_channels;3695 | ^3696/build/source/examples/nand/main.cpp:62:29: note: make conversion explicit to silence this warning3697 1 | VkDeviceSize image_size = tex_width * tex_height * tex_channels;3698 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3699 | static_cast<VkDeviceSize>( )3700/build/source/examples/nand/main.cpp:62:29: note: perform multiplication in a wider type3701 62 | VkDeviceSize image_size = tex_width * tex_height * tex_channels;3702 | ^~~~~~~~~~~~~~~~~~~~~~3703 | static_cast<long>( )3704/build/source/examples/nand/main.cpp:146:6: error: an exception may be thrown in function 'main' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors]3705 146 | auto main() -> int {3706 | ^3707/build/source/examples/nand/main.cpp:64:5: note: frame #0: unhandled exception of type 'std::runtime_error' may be thrown in function 'initialize' here3708 64 | throw std::runtime_error("Failed to load texture");3709 | ^3710/build/source/examples/nand/main.cpp:170:25: note: frame #1: function 'main' calls function 'initialize' here3711 170 | const auto init_err = initialize(data);3712 | ^3713/build/source/wren/include/wren/event.hpp:26:26: error: 2 adjacent parameters of 'WindowResized' of similar type ('float') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3714 26 | explicit WindowResized(float width, float height)3715 | ^~~~~~~~~~~~~~~~~~~~~~~~~3716/build/source/wren/include/wren/event.hpp:26:32: note: the first parameter in the range is 'width'3717 26 | explicit WindowResized(float width, float height)3718 | ^~~~~3719/build/source/wren/include/wren/event.hpp:26:45: note: the last parameter in the range is 'height'3720 26 | explicit WindowResized(float width, float height)3721 | ^~~~~~3722/build/source/wren/include/wren/mesh.hpp:26:18: error: initialization of 'kTriangleVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3723 26 | const std::array kTriangleVertices = {3724 | ^3725/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here3726 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}3727 | ^3728/build/source/wren/include/wren/mesh.hpp:32:18: error: initialization of 'kQuadVertices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3729 32 | const std::array kQuadVertices = {3730 | ^3731/build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here3732 184 | Vec3f(float x, float y, float z) : Vec<float, 3>(x, y, z) {}3733 | ^3734/build/source/wren/include/wren/mesh.hpp:55:29: error: initialization of 'kQuadIndices' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]3735 55 | const std::vector<uint16_t> kQuadIndices = {0, 2, 1, 0, 3, 2};3736 | ^3737/nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here3738 698 | vector(initializer_list<value_type> __l,3739 | ^3740/build/source/wren/include/wren/render_pass.hpp:156:3: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3741 156 | buffer->set_data_raw(&data, sizeof(T));3742 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3743/build/source/examples/nand/main.cpp:112:24: note: in instantiation of function template specialization 'wren::RenderPass::write_scratch_buffer<GLOBALS>' requested here3744 112 | pass.write_scratch_buffer(cmd, 0, 0, ubo);3745 | ^3746/build/source/wren/include/wren/render_target.hpp:67:42: error: enum value of type 'SampleCountFlagBits' initialized with invalid value of 0, enum doesn't have a zero-value enumerator [bugprone-invalid-enum-default-initialization,-warnings-as-errors]3747 67 | ::vk::SampleCountFlagBits sample_count_{};3748 | ^3749/nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here3750 2655 | enum class SampleCountFlagBits : VkSampleCountFlags3751 | ^3752/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: ignoring return value of type 'expected<void, wren::Err>' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors]3753 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));3754 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3755/build/source/wren/include/wren/scene/components/mesh.hpp:41:5: error: the value returned by this function should not be disregarded; neglecting it may lead to errors [bugprone-unused-return-value,-warnings-as-errors]3756 41 | ubo_->set_data_raw(&ubo, sizeof(LOCALS));3757 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3758/build/source/wren/include/wren/utils/vulkan.hpp:42:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3759 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {3760 | ^ 3761 | != 03762/build/source/wren/include/wren/utils/vulkan.hpp:42:52: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3763 42 | if (std::strcmp(ext.extensionName.data(), name.data())) {3764 | ~~~~~^~~~3765/build/source/wren/include/wren/utils/vulkan.hpp:56:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3766 56 | if (std::strcmp(ext.layerName, name.data())) {3767 | ^ 3768 | != 03769/build/source/wren/include/wren/utils/vulkan.hpp:56:41: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3770 56 | if (std::strcmp(ext.layerName, name.data())) {3771 | ~~~~~^~~~3772/build/source/wren/include/wren/utils/vulkan.hpp:71:9: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]3773 71 | if (std::strcmp(ext.extensionName, name.data())) {3774 | ^ 3775 | != 03776/build/source/wren/include/wren/utils/vulkan.hpp:71:45: error: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage,-warnings-as-errors]3777 71 | if (std::strcmp(ext.extensionName, name.data())) {3778 | ~~~~~^~~~3779/build/source/wren_math/include/wren/math/geometry.hpp:29:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3780 29 | inline auto ortho(T left, T right, T bottom, T top) {3781 | ^~~~~~~~~~~~~~~~~3782/build/source/wren_math/include/wren/math/geometry.hpp:29:29: note: the first parameter in the range is 'right'3783 29 | inline auto ortho(T left, T right, T bottom, T top) {3784 | ^~~~~3785/build/source/wren_math/include/wren/math/geometry.hpp:29:38: note: the last parameter in the range is 'bottom'3786 29 | inline auto ortho(T left, T right, T bottom, T top) {3787 | ^~~~~~3788/build/source/wren_math/include/wren/math/geometry.hpp:42:27: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3789 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3790 | ^~~~~~~~~~~~~~~~~3791/build/source/wren_math/include/wren/math/geometry.hpp:42:29: note: the first parameter in the range is 'right'3792 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3793 | ^~~~~3794/build/source/wren_math/include/wren/math/geometry.hpp:42:38: note: the last parameter in the range is 'bottom'3795 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3796 | ^~~~~~3797/build/source/wren_math/include/wren/math/geometry.hpp:42:46: error: 2 adjacent parameters of 'ortho' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3798 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3799 | ^~~~~~~~~~~~~3800/build/source/wren_math/include/wren/math/geometry.hpp:42:48: note: the first parameter in the range is 'top'3801 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3802 | ^~~3803/build/source/wren_math/include/wren/math/geometry.hpp:42:55: note: the last parameter in the range is 'near'3804 42 | inline auto ortho(T left, T right, T bottom, T top, T near, T far) {3805 | ^~~~3806/build/source/wren_math/include/wren/math/geometry.hpp:59:25: error: 3 adjacent parameters of 'perspective' of similar type ('T') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors]3807 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {3808 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~3809/build/source/wren_math/include/wren/math/geometry.hpp:59:27: note: the first parameter in the range is 'fov_y'3810 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {3811 | ^~~~~3812/build/source/wren_math/include/wren/math/geometry.hpp:59:46: note: the last parameter in the range is 'z_near'3813 59 | inline auto perspective(T fov_y, T aspect, T z_near, T z_far) {3814 | ^~~~~~3815/build/source/wren_math/include/wren/math/vector.hpp:201:3: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors]3816 201 | Vec4f(auto&& other) : Vec<float, 4>(other) {}3817 | ^3818/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here3819 198 | struct Vec4f : Vec<float, 4> {3820 | ^3821/build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here3822/build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors]3823 37 | return level.value();3824 | ^~~~~3825/build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors]3826 32 | if (case_insensitive && boost::iequals(name, described)) {3827 | ^3828/build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original3829 35 | } else if (!case_insensitive && name == described) {3830 | ^3831/build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here3832 35 | } else if (!case_insensitive && name == described) {3833 | ^3834/build/source/wren_utils/include/wren/utils/format.hpp:12:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3835 12 | struct std::formatter<T, char> {3836 | ^3837/build/source/wren_utils/include/wren/utils/format.hpp:66:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3838 66 | struct std::formatter<T, char> {3839 | ^3840/build/source/wren_utils/include/wren/utils/format.hpp:97:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3841 97 | struct std::formatter<std::vector<T>, char> {3842 | ^3843/build/source/wren_utils/include/wren/utils/format.hpp:126:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3844 126 | struct std::formatter<std::array<T, N>, char> {3845 | ^3846/build/source/wren_utils/include/wren/utils/format.hpp:155:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3847 155 | struct std::formatter<std::map<Key, Val>, char> {3848 | ^3849/build/source/wren_utils/include/wren/utils/format.hpp:184:13: error: modification of 'std' namespace can result in undefined behavior [bugprone-std-namespace-modification,-warnings-as-errors]3850 184 | struct std::formatter<std::filesystem::path, char> {3851 | ^3852/build/source/wren_utils/include/wren/utils/macros.hpp:17:39: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3853 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg));3854 | ^3855 | ( )3856/build/source/wren_utils/include/wren/utils/result.hpp:112:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3857 112 | auto unique = (expr); \3858 | ^3859 | ( )3860/build/source/wren_utils/include/wren/utils/result.hpp:113:53: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3861 113 | if (!(unique).has_value()) return std::unexpected(unique.error());3862 | ^ 3863 | ( )3864/build/source/wren_utils/include/wren/utils/result.hpp:118:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3865 118 | out = std::move((unique).value());3866 | ^3867 | ( )3868/build/source/wren_utils/include/wren/utils/result.hpp:125:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3869 125 | auto unique = (expr); \3870 | ^3871 | ( )3872/build/source/wren_utils/include/wren/utils/result.hpp:131:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3873 131 | out = (unique).value();3874 | ^3875 | ( )3876/build/source/wren_utils/include/wren/utils/result.hpp:151:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3877 151 | out = LINEIZE(res, __LINE__).value();3878 | ^3879 | ( )3880/build/source/wren_vk/include/wren/vk/result.hpp:48:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3881 48 | if (unique != ::vk::Result::eSuccess) \3882 | ^3883 | ( )3884/build/source/wren_vk/include/wren/vk/result.hpp:53:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3885 53 | if (unique != ::vk::Result::eSuccess) \3886 | ^3887 | ( )3888/build/source/wren_vk/include/wren/vk/result.hpp:62:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3889 62 | if (unique != ::vk::Result::eSuccess) \3890 | ^3891 | ( )3892/build/source/wren_vk/include/wren/vk/result.hpp:71:7: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]3893 71 | if (unique != ::vk::Result::eSuccess) \3894 | ^3895 | ( )3896