Skip to content

Add clang-tidy static analysis for the NIF #462

Add clang-tidy static analysis for the NIF

Add clang-tidy static analysis for the NIF #462

Triggered via pull request July 20, 2026 19:44
Status Failure
Total duration 3m 28s
Artifacts

ci.yml

on: pull_request
cppcheck (NIF static analysis)
10s
cppcheck (NIF static analysis)
clang-tidy (NIF static analysis)
2m 23s
clang-tidy (NIF static analysis)
Matrix: full-tests
Matrix: precommit
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 2 warnings
clang-tidy (NIF static analysis): deps/fine/c_include/fine.hpp#L73
note: possibly throwing constructor declared here
clang-tidy (NIF static analysis): c_src/emily/atoms.hpp#L24
error: initialization of 'stopped' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]
clang-tidy (NIF static analysis): deps/fine/c_include/fine.hpp#L73
note: possibly throwing constructor declared here
clang-tidy (NIF static analysis): c_src/emily/atoms.hpp#L23
error: initialization of 'error' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]
clang-tidy (NIF static analysis): deps/fine/c_include/fine.hpp#L73
note: possibly throwing constructor declared here
clang-tidy (NIF static analysis): c_src/emily/atoms.hpp#L22
error: initialization of 'ok' with static storage duration may throw an exception that cannot be caught [bugprone-throwing-static-initialization,-warnings-as-errors]
clang-tidy (NIF static analysis): c_src/emily/async.hpp#L166
error: parameter 'w' of type 'fine::ResourcePtr<WorkerThread>' is passed by value and only copied once; consider moving it to avoid unnecessary copies [performance-unnecessary-value-param,-warnings-as-errors]
clang-tidy (NIF static analysis): c_src/emily/async.hpp#L99
error: the parameter 'w' of type 'fine::ResourcePtr<WorkerThread>' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param,-warnings-as-errors]
clang-tidy (NIF static analysis): c_src/emily/async.hpp#L54
error: the result from calling 'memcpy' is not null-terminated [bugprone-not-null-terminated-result,-warnings-as-errors]
clang-tidy (NIF static analysis): c_src/emily/async.hpp#L47
error: declaration uses identifier '__async', which is a reserved identifier [bugprone-reserved-identifier,-warnings-as-errors]
cppcheck (NIF static analysis)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
clang-tidy (NIF static analysis)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust