Skip to content

Fix clang-tidy errors #168

Closed
Closed

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions