warning: unknown setting 'eval-cores' warning: unknown setting 'lazy-trees' this derivation will be built: /nix/store/frl31j75hw75f8sna0s9dk28f2d6k0g2-lint-0.1.0.drv building '/nix/store/frl31j75hw75f8sna0s9dk28f2d6k0g2-lint-0.1.0.drv' lint-0.1.0> Running phase: unpackPhase lint-0.1.0> unpacking source archive /nix/store/i2csh5pbdrjd6bbqsx1ziva6hia8313v-source lint-0.1.0> source root is source lint-0.1.0> Running phase: patchPhase lint-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase lint-0.1.0> Running phase: configurePhase lint-0.1.0> -- The C compiler identification is Clang 22.1.8 lint-0.1.0> -- The CXX compiler identification is Clang 22.1.8 lint-0.1.0> -- Detecting C compiler ABI info lint-0.1.0> -- Detecting C compiler ABI info - done lint-0.1.0> -- Check for working C compiler: /nix/store/aa0fqrgffl8ijza9mmx9apxy973215wz-clang-wrapper-22.1.8/bin/clang - skipped lint-0.1.0> -- Detecting C compile features lint-0.1.0> -- Detecting C compile features - done lint-0.1.0> -- Detecting CXX compiler ABI info lint-0.1.0> -- Detecting CXX compiler ABI info - done lint-0.1.0> -- Check for working CXX compiler: /nix/store/aa0fqrgffl8ijza9mmx9apxy973215wz-clang-wrapper-22.1.8/bin/clang++ - skipped lint-0.1.0> -- Detecting CXX compile features lint-0.1.0> -- Detecting CXX compile features - done lint-0.1.0> -- Found Vulkan: /nix/store/la62431p5qf1ggr3rdzql9dksv5fhicc-vulkan-loader-1.4.363.0/lib/libvulkan.so (found version "1.4.363") missing components: glslc glslangValidator lint-0.1.0> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD lint-0.1.0> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success lint-0.1.0> -- Found Threads: TRUE lint-0.1.0> -- Found Fontconfig: /nix/store/p3y4rk4gjnhs80339qq7jixjbhplqc16-fontconfig-2.18.3-lib/lib/libfontconfig.so (found version "2.18.3") lint-0.1.0> -- Found Freetype: /nix/store/zj7yb55h1zpmxmw6dp817n6y0370wji0-freetype-2.14.3/lib/libfreetype.so (found version "2.14.3") lint-0.1.0> -- Found PkgConfig: /nix/store/s70gz6bvz74c36xigh5m2ab2cqli08cv-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2") lint-0.1.0> -- Checking for module 'stb' lint-0.1.0> -- Found stb, version 1 lint-0.1.0> -- Configuring done (5.1s) lint-0.1.0> -- Generating done (0.3s) lint-0.1.0> -- Build files have been written to: /build/source/build lint-0.1.0> Running phase: buildPhase lint-0.1.0> Running clang-tidy in 16 threads for 47 files out of 47 in compilation database ... lint-0.1.0> [ 1/47][7.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/src/geometry.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> lint-0.1.0> [ 2/47][15.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/memory.cpp lint-0.1.0> [ 3/47][26.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_physics/src/ray.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> lint-0.1.0> [ 4/47][27.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/scene.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> lint-0.1.0> [ 5/47][36.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/event.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> lint-0.1.0> [ 6/47][42.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/assets/manager.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [ 7/47][49.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/tests/vector.cpp lint-0.1.0> /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] lint-0.1.0> 11 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 29 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> lint-0.1.0> [ 8/47][51.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/tests/geometry.cpp lint-0.1.0> /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] lint-0.1.0> 11 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 29 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> lint-0.1.0> [ 9/47][37.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/tests/string_reader.cpp lint-0.1.0> [10/47][56.2s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_physics/tests/raycast.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> lint-0.1.0> [11/47][37.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/input.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> lint-0.1.0> [12/47][52.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_math/tests/matrix.cpp lint-0.1.0> /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] lint-0.1.0> 11 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 29 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /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] lint-0.1.0> 21 | std::array identity = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/tests/matrix.cpp:21:21: note: make conversion explicit to silence this warning lint-0.1.0> 2 | std::array identity = { lint-0.1.0> | ^~~~~ lint-0.1.0> | static_cast( ) lint-0.1.0> /build/source/wren_math/tests/matrix.cpp:21:21: note: perform multiplication in a wider type lint-0.1.0> 21 | std::array identity = { lint-0.1.0> | ^ lint-0.1.0> | static_cast( ) lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> lint-0.1.0> [13/47][1.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/src/string_reader.cpp lint-0.1.0> [14/47][117.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/utils/queue.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [15/47][120.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/inspector_panel.cpp lint-0.1.0> /build/source/editor/src/inspector_panel.cpp:77:7: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 77 | mesh_renderer.update_mesh(ctx.project_path, new_file); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 77 | mesh_renderer.update_mesh(ctx.project_path, new_file); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 91 | ImGui::LabelText("##name", "%s", tag.data()); lint-0.1.0> | ~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 96 | if (ImGui::DragFloat(("##x" + std::string(tag.data())).c_str(), &x, 0.1F)) lint-0.1.0> | ~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 103 | if (ImGui::DragFloat(("##y" + std::string(tag.data())).c_str(), &y, 0.1F)) lint-0.1.0> | ~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 110 | if (ImGui::DragFloat(("##z" + std::string(tag.data())).c_str(), &z, 0.1F)) lint-0.1.0> | ~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [16/47][130.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/buffer.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [17/47][132.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/render_target.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [18/47][31.2s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/tests/binary_reader.cpp lint-0.1.0> [19/47][9.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/src/string.cpp lint-0.1.0> [20/47][142.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_gui/src/instance.cpp lint-0.1.0> /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] lint-0.1.0> 37 | const std::vector kQuadIndices = {0, 1, 3, 3, 1, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_gui/src/instance.cpp:100:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 100 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 100 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren_gui/src/instance.cpp:106:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 106 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 107 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 108 | vertex_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 106 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 107 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 108 | vertex_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren_gui/src/instance.cpp:119:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 119 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 119 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren_gui/src/instance.cpp:125:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 125 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 126 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 127 | index_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 125 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 126 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 127 | index_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [21/47][152.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/examples/nand/main.cpp lint-0.1.0> /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] lint-0.1.0> 62 | VkDeviceSize image_size = tex_width * tex_height * tex_channels; lint-0.1.0> | ^ lint-0.1.0> /build/source/examples/nand/main.cpp:62:29: note: make conversion explicit to silence this warning lint-0.1.0> 1 | VkDeviceSize image_size = tex_width * tex_height * tex_channels; lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> | static_cast( ) lint-0.1.0> /build/source/examples/nand/main.cpp:62:29: note: perform multiplication in a wider type lint-0.1.0> 62 | VkDeviceSize image_size = tex_width * tex_height * tex_channels; lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> | static_cast( ) lint-0.1.0> /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] lint-0.1.0> 146 | auto main() -> int { lint-0.1.0> | ^ lint-0.1.0> /build/source/examples/nand/main.cpp:64:5: note: frame #0: unhandled exception of type 'std::runtime_error' may be thrown in function 'initialize' here lint-0.1.0> 64 | throw std::runtime_error("Failed to load texture"); lint-0.1.0> | ^ lint-0.1.0> /build/source/examples/nand/main.cpp:170:25: note: frame #1: function 'main' calls function 'initialize' here lint-0.1.0> 170 | const auto init_err = initialize(data); lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /build/source/wren/include/wren/render_pass.hpp:156:3: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 156 | buffer->set_data_raw(&data, sizeof(T)); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/examples/nand/main.cpp:112:24: note: in instantiation of function template specialization 'wren::RenderPass::write_scratch_buffer' requested here lint-0.1.0> 112 | pass.write_scratch_buffer(cmd, 0, 0, ubo); lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [22/47][152.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/renderer.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 49 | render_targets_.at(kSwapchainRendertargetName.data()) lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ lint-0.1.0> /build/source/wren/src/renderer.cpp:196: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] lint-0.1.0> 196 | if (render_targets_.contains(kSwapchainRendertargetName.data())) { lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ lint-0.1.0> /build/source/wren/src/renderer.cpp:290: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] lint-0.1.0> 290 | if (!render_targets_.contains(kSwapchainRendertargetName.data())) { lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ lint-0.1.0> /build/source/wren/src/renderer.cpp:301: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] lint-0.1.0> 301 | const auto& target = render_targets_.at(kSwapchainRendertargetName.data()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [23/47][33.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/components/collider.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> lint-0.1.0> [24/47][129.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/image.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [25/47][164.5s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/application.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [26/47][133.5s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/mesh.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /build/source/wren/src/mesh.cpp:29:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 29 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 29 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren/src/mesh.cpp:35:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 35 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 36 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 37 | vertex_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 35 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 36 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 37 | vertex_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren/src/mesh.cpp:50:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 50 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 50 | staging_buffer->set_data_raw(data); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren/src/mesh.cpp:56:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 56 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 57 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 58 | index_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 56 | vk::Buffer::copy_buffer(device.get(), device.get_graphics_queue(), lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 57 | device.command_pool(), staging_buffer, lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> 58 | index_buffer_, data.size_bytes()); lint-0.1.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren/src/mesh.cpp:69:5: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 69 | uniform_buffer_->set_data_raw(&ubo, size); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 69 | uniform_buffer_->set_data_raw(&ubo, size); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [27/47][38.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_text/src/font.cpp lint-0.1.0> /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] lint-0.1.0> 34 | FcPattern* pat = FcNameParse((FcChar8* const)(font.data())); lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> /build/source/wren_text/src/font.cpp:43:43: error: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast,-warnings-as-errors] lint-0.1.0> 43 | font_path = std::filesystem::path{reinterpret_cast(file)}; lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [28/47][48.5s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/src/filesystem.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [29/47][184.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/main.cpp lint-0.1.0> /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] lint-0.1.0> 14 | auto main(int argc, char** argv) -> int { lint-0.1.0> | ^ lint-0.1.0> /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' here lint-0.1.0> 128 | { _GLIBCXX_THROW_OR_ABORT(bad_optional_access()); } lint-0.1.0> | ^ lint-0.1.0> /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' lint-0.1.0> 262 | # define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) lint-0.1.0> | ^ lint-0.1.0> /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' here lint-0.1.0> 1288 | __throw_bad_optional_access(); lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: note: frame #2: function 'get_log_level' calls function 'value' here lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:50:7: note: frame #3: function 'debug<>' calls function 'get_log_level' here lint-0.1.0> 50 | if (get_log_level() <= LogLevel::Debug) { lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/main.cpp:22:3: note: frame #4: function 'main' calls function 'debug<>' here lint-0.1.0> 22 | wren::log::debug("launching editor"); lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/main.cpp:52:48: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 52 | const auto res = editor::Editor::create(app, project_path.value()); lint-0.1.0> | ^~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [30/47][163.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/deserialization.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 23 | for (const auto& e : *table["entities"].as_array()) { lint-0.1.0> | ^~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 26 | scene->create_entity(entity_table["name"].as_string()->get()); lint-0.1.0> | ^~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 45 | deserialize(*table["position"].as_table(), transform.position); lint-0.1.0> | ^~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 46 | deserialize(*table["rotation"].as_table(), transform.rotation); lint-0.1.0> | ^~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 47 | deserialize(*table["scale"].as_table(), transform.scale); lint-0.1.0> | ^~~~~~~~~ lint-0.1.0> /build/source/wren/src/scene/deserialization.cpp:53:3: error: ignoring return value of type 'expected' declared with 'nodiscard' attribute [clang-diagnostic-unused-value,-warnings-as-errors] lint-0.1.0> 53 | mesh_renderer.update_mesh(project_root, *table["path"].value()); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 53 | mesh_renderer.update_mesh(project_root, *table["path"].value()); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /build/source/wren/src/scene/deserialization.cpp:53:44: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 53 | mesh_renderer.update_mesh(project_root, *table["path"].value()); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 53 | mesh_renderer.update_mesh(project_root, *table["path"].value()); lint-0.1.0> | ^~~~~~~~ lint-0.1.0> /build/source/wren/src/scene/deserialization.cpp:57:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 57 | vec.x(*table["x"].value()); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 57 | vec.x(*table["x"].value()); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren/src/scene/deserialization.cpp:58:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 58 | vec.y(*table["y"].value()); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 58 | vec.y(*table["y"].value()); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren/src/scene/deserialization.cpp:59:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 59 | vec.z(*table["z"].value()); lint-0.1.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ lint-0.1.0> /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] lint-0.1.0> 59 | vec.z(*table["z"].value()); lint-0.1.0> | ^~~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [31/47][30.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/scene_panel.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> lint-0.1.0> [32/47][50.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_utils/tests/enums.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/tests/enums.cpp:20:14: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 20 | BOOST_TEST(res.value() == TestEnums::Case1); lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/tests/enums.cpp:26:14: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 26 | BOOST_TEST(res.value() == TestEnums::Case2); lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/tests/enums.cpp:30:14: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 30 | BOOST_TEST(res.value() == TestEnums::Case1); lint-0.1.0> | ^ lint-0.1.0> lint-0.1.0> [33/47][49.1s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_text/tests/font.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [34/47][129.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/graph.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [35/47][123.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/utils/vulkan.cpp lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [36/47][41.0s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/filesystem_panel.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [37/47][155.8s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/ui.cpp lint-0.1.0> /build/source/editor/src/ui.cpp:47:5: error: switch has 10 consecutive identical branches [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 47 | case wren::KeyCode::KExclaim: lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/ui.cpp:66:37: note: last of these clones ends here lint-0.1.0> 66 | return ImGuiKey::ImGuiKey_None; // FIXME lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/ui.cpp:102:5: error: switch has 2 consecutive identical branches [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 102 | case wren::KeyCode::KQuestion: lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/ui.cpp:105:37: note: last of these clones ends here lint-0.1.0> 105 | return ImGuiKey::ImGuiKey_None; // FIXME lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/ui.cpp:114:5: error: switch has 2 consecutive identical branches [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 114 | case wren::KeyCode::KUnderscore: lint-0.1.0> | ^ lint-0.1.0> /build/source/editor/src/ui.cpp:117:37: note: last of these clones ends here lint-0.1.0> 117 | return ImGuiKey::ImGuiKey_None; lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 283 | [&io](const auto& e) { io.AddInputCharactersUTF8(e.text.data()); }); lint-0.1.0> | ~~~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [38/47][84.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/utils/device.cpp lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [39/47][124.4s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/window.cpp lint-0.1.0> /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] lint-0.1.0> 283 | switch (event.type) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [40/47][54.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/vulkan.cpp lint-0.1.0> [41/47][105.7s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/graphics_context.cpp lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [42/47][114.3s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/scene/serialization.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [43/47][67.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/render_pass.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [44/47][59.9s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/texture.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [45/47][78.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren/src/mesh_loader.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 33 | vertices.reserve(triangles * 3); lint-0.1.0> | ^ lint-0.1.0> /build/source/wren/src/mesh_loader.cpp:33:20: note: make conversion explicit to silence this warning lint-0.1.0> 4 | vertices.reserve(triangles * 3); lint-0.1.0> | ^~~~~~~~~~~~~ lint-0.1.0> | static_cast( ) lint-0.1.0> /build/source/wren/src/mesh_loader.cpp:33:20: note: perform multiplication in a wider type lint-0.1.0> 33 | vertices.reserve(triangles * 3); lint-0.1.0> | ^~~~~~~~~ lint-0.1.0> | static_cast( ) lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [46/47][72.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/wren_vk/src/shader.cpp lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> lint-0.1.0> [47/47][103.6s] /nix/store/cj3il9qsgnh2msf8lzvgp2bmmmz91ppq-clang-tools-22.1.8/bin/clang-tidy --use-color -p=build -quiet /build/source/editor/src/editor.cpp lint-0.1.0> /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] lint-0.1.0> 26 | const std::array kTriangleVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 32 | const std::array kQuadVertices = { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:184:3: note: possibly throwing constructor declared here lint-0.1.0> 184 | Vec3f(float x, float y, float z) : Vec(x, y, z) {} lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 55 | const std::vector kQuadIndices = {0, 2, 1, 0, 3, 2}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/xpaz3fi6ibqxb9sla4gjlp0c82v566y8-gcc-16.2.0/include/c++/16.2.0/bits/stl_vector.h:698:7: note: possibly throwing constructor declared here lint-0.1.0> 698 | vector(initializer_list __l, lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 67 | ::vk::SampleCountFlagBits sample_count_{}; lint-0.1.0> | ^ lint-0.1.0> /nix/store/wj32fr9qda2anncv77ah46vxkhdz22qv-vulkan-headers-1.4.363.0/include/vulkan/vulkan_enums.hpp:2655:14: note: enum is defined here lint-0.1.0> 2655 | enum class SampleCountFlagBits : VkSampleCountFlags lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 42 | if (std::strcmp(ext.extensionName.data(), name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 56 | if (std::strcmp(ext.layerName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ^ lint-0.1.0> | != 0 lint-0.1.0> /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] lint-0.1.0> 71 | if (std::strcmp(ext.extensionName, name.data())) { lint-0.1.0> | ~~~~~^~~~ lint-0.1.0> /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] lint-0.1.0> 201 | Vec4f(auto&& other) : Vec(other) {} lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: copy constructor declared here lint-0.1.0> 198 | struct Vec4f : Vec { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_math/include/wren/math/vector.hpp:198:8: note: move constructor declared here lint-0.1.0> /build/source/wren_utils/include/wren/logging/log.hpp:37:10: error: unchecked access to optional value [bugprone-unchecked-optional-access,-warnings-as-errors] lint-0.1.0> 37 | return level.value(); lint-0.1.0> | ^~~~~ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:32:68: error: repeated branch body in conditional chain [bugprone-branch-clone,-warnings-as-errors] lint-0.1.0> 32 | if (case_insensitive && boost::iequals(name, described)) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:12: note: end of the original lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /build/source/wren_utils/include/wren/utils/enums.hpp:35:62: note: clone 1 starts here lint-0.1.0> 35 | } else if (!case_insensitive && name == described) { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 12 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 66 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 97 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 126 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 155 | struct std::formatter, char> { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 184 | struct std::formatter { lint-0.1.0> | ^ lint-0.1.0> /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] lint-0.1.0> 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 112 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /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] lint-0.1.0> 118 | out = std::move((unique).value()); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 127 | auto unique = (expr); \ lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] lint-0.1.0> 133 | out = (unique).value(); lint-0.1.0> | ^ lint-0.1.0> | ( ) lint-0.1.0> error: Cannot build '/nix/store/frl31j75hw75f8sna0s9dk28f2d6k0g2-lint-0.1.0.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/7lpm56cvplc3q031flw94jfcj44nlvql-lint-0.1.0 Last 25 log lines: > /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] > 17 | #define WREN_ASSERT(expr, msg) assert(expr && (msg)); > | ^ > | ( ) > /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] > 112 | auto unique = (expr); \ > | ^ > | ( ) > /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] > 113 | if (!(unique).has_value()) return std::unexpected(unique.error()); > | ^ > | ( ) > /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] > 118 | out = std::move((unique).value()); > | ^ > | ( ) > /build/source/wren_utils/include/wren/utils/result.hpp:127:8: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] > 127 | auto unique = (expr); \ > | ^ > | ( ) > /build/source/wren_utils/include/wren/utils/result.hpp:133:3: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors] > 133 | out = (unique).value(); > | ^ > | ( ) > For full logs, run: nix log /nix/store/frl31j75hw75f8sna0s9dk28f2d6k0g2-lint-0.1.0.drv