Skip to content

Fix clang-tidy errors #168

@christophfroehlich

Description

@christophfroehlich
[73](https://github.com/PickNikRobotics/RSL/actions/runs/25425668739/job/74578302598?pr=167#step:13:474)
Running clang-tidy for 14 files out of 14 in compilation database ...
[ 1/14][18.1s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/no_discard.cpp
/__w/RSL/RSL/include/rsl/no_discard.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
42076 warnings generated.
Suppressed 42077 warnings (42075 in non-user code, 2 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[ 2/14][28.0s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/static_vector.cpp
/__w/RSL/RSL/include/rsl/static_vector.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
42333 warnings generated.
Suppressed 42377 warnings (42332 in non-user code, 45 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[ 3/14][38.8s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/monad.cpp
/__w/RSL/RSL/include/rsl/monad.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/monad.hpp:169:11: error: use C++20 requires constraints instead of enable_if [modernize-use-constraints,-warnings-as-errors]
  168 | template <typename T, typename Fn, typename = std::enable_if_t<rsl::is_optional<T>>,
      |                                                                                    ~
  169 |           typename = std::enable_if_t<std::is_invocable_v<
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |               Fn, typename std::remove_cv_t<std::remove_reference_t<T>>::value_type>>>
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 | [[nodiscard]] constexpr auto operator|(T&& opt, Fn&& fn) {
/__w/RSL/RSL/include/rsl/monad.hpp:205:5: error: use C++20 requires constraints instead of enable_if [modernize-use-constraints,-warnings-as-errors]
  205 |     typename std::enable_if_t<std::is_invocable_v<Fn, T>, std::invoke_result_t<Fn, T>> {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     std::invoke_result_t<Fn, T>                                                        requires (std::is_invocable_v<Fn, T>) 
72304 warnings generated.
Suppressed 72322 warnings (72301 in non-user code, 21 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings treated as errors

[ 4/14][25.9s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/install/install.cpp
/__w/RSL/RSL/include/rsl/random.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
61538 warnings generated.
Suppressed 61537 warnings (61537 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[ 5/14][38.8s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/random.cpp
/__w/RSL/RSL/include/rsl/random.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
76527 warnings generated.
Suppressed 76536 warnings (76526 in non-user code, 10 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[ 6/14][23.1s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/static_string.cpp
/__w/RSL/RSL/include/rsl/static_string.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
41998 warnings generated.
Suppressed 42034 warnings (41997 in non-user code, 37 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[ 7/14][30.9s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/algorithm.cpp
/__w/RSL/RSL/include/rsl/algorithm.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
46751 warnings generated.
Suppressed 46750 warnings (46750 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[ 8/14][19.0s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/src/parameter_validators.cpp
/__w/RSL/RSL/include/rsl/algorithm.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/parameter_validators.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/static_string.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/static_vector.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
53926 warnings generated.
Suppressed 53922 warnings (53922 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings treated as errors

[ 9/14][21.0s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/overload.cpp
/__w/RSL/RSL/include/rsl/overload.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
42986 warnings generated.
Suppressed 42988 warnings (42985 in non-user code, 3 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[10/14][94.9s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/parameter_validators.cpp
/__w/RSL/RSL/include/rsl/algorithm.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/parameter_validators.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/static_string.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/static_vector.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
63411 warnings generated.
Suppressed 63423 warnings (63407 in non-user code, 16 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings treated as errors

[11/14][27.6s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/src/random.cpp
/__w/RSL/RSL/include/rsl/random.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/src/random.cpp:33:32: error: prefer 'std::numbers::pi' to this literal, differs by '0.00e+00' [modernize-use-std-numbers,-warnings-as-errors]
    1 |     static constexpr auto pi = 3.1415926535897932385;
      |                                ^~~~~~~~~~~~~~~~~~~~~
      |                                std::numbers::pi
63099 warnings generated.
Suppressed 63097 warnings (63097 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings treated as errors

[12/14][16.0s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/strong_type.cpp
/__w/RSL/RSL/include/rsl/strong_type.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
42101 warnings generated.
Suppressed 42104 warnings (42100 in non-user code, 4 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[13/14][19.1s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/try.cpp
/__w/RSL/RSL/include/rsl/try.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
46374 warnings generated.
Suppressed 46375 warnings (46373 in non-user code, 2 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

[14/14][18.3s] clang-tidy-21 -p=/__w/RSL/RSL/build/release /__w/RSL/RSL/tests/queue.cpp
/__w/RSL/RSL/include/rsl/queue.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
/__w/RSL/RSL/include/rsl/queue.hpp:29:9: error: use 'std::scoped_lock' instead of 'std::lock_guard' [modernize-use-scoped-lock,-warnings-as-errors]
   29 |         auto const lock = std::lock_guard(mutex_);
      |         ^
/__w/RSL/RSL/include/rsl/queue.hpp:38:9: error: use 'std::scoped_lock' instead of 'std::lock_guard' [modernize-use-scoped-lock,-warnings-as-errors]
   38 |         auto const lock = std::lock_guard(mutex_);
      |         ^
/__w/RSL/RSL/include/rsl/queue.hpp:47:9: error: use 'std::scoped_lock' instead of 'std::lock_guard' [modernize-use-scoped-lock,-warnings-as-errors]
   47 |         auto const lock = std::lock_guard(mutex_);
      |         ^
/__w/RSL/RSL/include/rsl/queue.hpp:56:9: error: use 'std::scoped_lock' instead of 'std::lock_guard' [modernize-use-scoped-lock,-warnings-as-errors]
   56 |         auto const lock = std::lock_guard(mutex_);
      |         ^
/__w/RSL/RSL/tests/queue.cpp:92:35: error: '*' has higher precedence than '-'; add parentheses to explicitly specify the order of operations [readability-math-missing-parentheses,-warnings-as-errors]
   92 |             CHECK(queue.size() == thread_count * item_count - items_removed);
      |                                   ^
/__w/RSL/RSL/build/release/_deps/catch2-src/src/catch2/../catch2/catch_test_macros.hpp:132:99: note: expanded from macro 'CHECK'
  132 |   #define CHECK( ... ) INTERNAL_CATCH_TEST( "CHECK", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
      |                                                                                                   ^
/__w/RSL/RSL/build/release/_deps/catch2-src/src/catch2/../catch2/internal/catch_test_macro_impl.hpp:47:40: note: expanded from macro 'INTERNAL_CATCH_TEST'
   47 |         CATCH_INTERNAL_IGNORE_BUT_WARN(__VA_ARGS__); \
      |                                        ^
/__w/RSL/RSL/build/release/_deps/catch2-src/src/catch2/../catch2/internal/catch_compiler_capabilities.hpp:114:76: note: expanded from macro 'CATCH_INTERNAL_IGNORE_BUT_WARN'
  114 | #    define CATCH_INTERNAL_IGNORE_BUT_WARN(...) (void)__builtin_constant_p(__VA_ARGS__) /* NOLINT(cppcoreguidelines-pro-type-vararg, hicpp-vararg) */
      |                                                                            ^
50319 warnings generated.
Suppressed 50330 warnings (50311 in non-user code, 19 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings treated as errors

ninja: build stopped: subcommand failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions