| basedOpinionated utility library | 
| git clone git://git.dimitrijedobrota.com/based.git | 
| Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING | 
| commit | 405cd0e9db6d67a8f3011662610cc528cd0ebc7c | 
| parent | ce9865aca018985b89bf4f640e42744805df879a | 
| author | Dimitrije Dobrota < mail@dimitrijedobrota.com > | 
| date | Thu, 1 May 2025 19:56:47 +0200 | 
Fix NOLINT comments and products of this misuse
| M | include/based/functional.hpp | | | + - | 
| M | include/based/instrumentation.hpp | | | ++++++ ----- | 
| M | include/based/list.hpp | | | + - | 
| M | include/based/string.hpp | | | + - | 
| M | include/based/template.hpp | | | ++++++++++++++++ -------------- | 
| M | include/based/type_traits.hpp | | | + - | 
| M | include/based/utility.hpp | | | + - | 
| M | test/source/buffer_test.cpp | | | ++ -- | 
| M | test/source/curry_test.cpp | | | +++++++++++++++++++++++++++ -------------------- | 
| M | test/source/max_test.cpp | | | +++++++++++++++ --------------- | 
| M | test/source/min_test.cpp | | | +++++++++++++++ --------------- | 
| M | test/source/scopeguard_test.cpp | | | ++++ ---- | 
| M | test/source/signature_test.cpp | | | ++++++++ ------- | 
| M | test/source/standard_traits_test.cpp | | | ++ -- | 
14 files changed, 100 insertions(+), 89 deletions(-)
diff --git a/ include/based/functional.hpp b/ include/based/functional.hpp
          @@ -23,7 +23,7 @@ 
          class curried
        
        
            }
          public:
            curried(Function function, CapturedArgs&&... args)  // NOLINT explicit
            curried(Function function, CapturedArgs&&... args)  // NOLINT(*explicit*)
                : m_function(function)
                , m_captured(std::forward<CapturedArgs>(args)...)
            {
        
        diff --git a/ include/based/instrumentation.hpp b/ include/based/instrumentation.hpp
          @@ -117,13 +117,13 @@ 
          struct instrumented : instrumented_base
        
        
            value_type value;
            instrumented(const value_type& val)  // NOLINT *-explicit-constructor
            instrumented(const value_type& val)  // NOLINT(*explicit*)
                : value(std::move(val))
            {
              ++counts[op::ctor_value];
            }
            instrumented(value_type&& val)  // NOLINT *-explicit-constructor
            instrumented(value_type&& val)  // NOLINT(*explicit*)
                : value(std::move(val))
            {
              ++counts[op::ctor_value];
        
        
          @@ -145,7 +145,7 @@ 
          struct instrumented : instrumented_base
        
        
            }
            // self assign should be handled by the value_type
            instrumented& operator=(const instrumented& val)  // NOLINT cert-oop54-cpp
            instrumented& operator=(const instrumented& val)  // NOLINT(*cert-oop54-cpp*)
            {
              ++counts[op::asgn_copy];
              value = val.value;
        
        
          @@ -153,7 +153,8 @@ 
          struct instrumented : instrumented_base
        
        
            }
            // self assign should be handled by the value_type
            instrumented& operator=(instrumented&& val) noexcept  // NOLINT cert-oop54-cpp
            instrumented& operator=(instrumented&& val
            ) noexcept  // NOLINT(*cert-oop54-cpp*)
            {
              ++counts[op::asgn_move];
              value = std::move(val.value);
        
        
          @@ -279,7 +280,7 @@ 
          void count_operations(
        
        
                std::begin(instrumented::names), std::end(instrumented::names)
            );
            std::mt19937 rng(0);  // NOLINT cert-msc32-c cert-msc51-cpp
            std::mt19937 rng(0);  // NOLINT(*cert-msc32-c*, *cert-msc51-cpp*)
            while (first <= last) {
              std::vector<instrumented> vec(first);
              std::iota(std::begin(vec), std::end(vec), 0.0);
        
        diff --git a/ include/based/list.hpp b/ include/based/list.hpp
          @@ -180,7 +180,7 @@ 
          public:
        
        
            }
            list_type free(
                list_type front,  // NOLINT bugprone-easily-swappable-parameters
                list_type front,  // NOLINT(*swappable*)
                list_type back
            )
            {
        
        diff --git a/ include/based/string.hpp b/ include/based/string.hpp
          @@ -9,7 +9,7 @@ 
          namespace based
        
        
          template<std::size_t n>
          struct string_literal
          {
            // NOLINTNEXTLINE *-explicit-constructor *-avoid-c-arrays
            // NOLINTNEXTLINE(*explicit*, *array*)
            constexpr string_literal(const char (&str)[n])
                : m_value(std::to_array(str))
            {
        
        diff --git a/ include/based/template.hpp b/ include/based/template.hpp
          @@ -27,7 +27,7 @@ 
          struct buffer
        
        
              return sizeof(T) <= size && (alignment % sizeof(T)) == 0;
            }
            alignas(alignment) char m_space[size] = {0};  // NOLINT array
            alignas(alignment) char m_space[size] = {0};  // NOLINT(*array*)
            buffer() = default;
          
          @@ -50,7 +50,7 @@ 
          struct buffer
        
        
              static_assert(std::is_trivially_destructible_v<T>);
              static_assert(std::is_trivially_copyable_v<T>);
              // NOLINTNEXTLINE owning-memory
              // NOLINTNEXTLINE(*owning-memory*)
              return ::new (static_cast<void*>(as<T>())) T(std::forward<Args>(args)...);
            }
          
          @@ -58,22 +58,24 @@ 
          struct buffer
        
        
              requires(valid_type<T>())
            [[nodiscard]] T* as() noexcept
            {
              return reinterpret_cast<T*>(&m_space);  // NOLINT reinterpret_cast
              return reinterpret_cast<T*>(&m_space);  // NOLINT(*reinterpret-cast*)
            }
            template<typename T>
              requires(valid_type<T>())
            [[nodiscard]] const T* as() const noexcept
            {
              return const_cast<buffer*>(this)->as<T>();  // NOLINT const_cast
              return const_cast<buffer*>(this)->as<T>();  // NOLINT(*const-cast*)
            }
            void swap(buffer& that) noexcept
            {
              alignas(alignment) char tmp[size];  // NOLINT array
              ::memcpy(tmp, this->m_space, size);  // NOLINT array
              ::memcpy(this->m_space, that.m_space, size);  // NOLINT array
              ::memcpy(that.m_space, tmp, size);  // NOLINT array
              // NOLINTBEGIN(*array*)
              alignas(alignment) char tmp[size];
              ::memcpy(tmp, this->m_space, size);
              ::memcpy(this->m_space, that.m_space, size);
              ::memcpy(that.m_space, tmp, size);
              // NOLINTEND(*array*)
            }
          };
          
          @@ -136,7 +138,7 @@ 
          public:
        
        
                        std::is_trivially_copyable_v<Callable>;
                      })
            function(CallableArg&& callable)  // NOLINT explicit
            function(CallableArg&& callable)  // NOLINT(*explicit*)
                : m_space(
                      std::in_place_type<Callable>, std::forward<CallableArg>(callable)
                  )
        
        
          @@ -149,7 +151,7 @@ 
          public:
        
        
            {
              return this->m_executor(
                  std::forward<CallArgs>(callargs)...,
                  const_cast<function*>(this)  // NOLINT const_cast
                  const_cast<function*>(this)  // NOLINT(*const-cast*)
              );
            }
          };
        
        
          @@ -167,13 +169,13 @@ 
          class scopeguard
        
        
            Func m_func;
          public:
            scopeguard(Func&& func)  // NOLINT explicit
            scopeguard(Func&& func)  // NOLINT(*explicit*)
                : m_func(std::move(func))
            {
            }
            /*
            scopeguard(const Func& func)  // NOLINT explicit
            scopeguard(const Func& func)  // NOLINT(*explicit*)
                : m_func(func)
            {
            }
        
        
          @@ -200,13 +202,13 @@ 
          class scopeguard<Func, false, false>
        
        
            Func m_func;
          public:
            scopeguard(Func&& func)  // NOLINT explicit
            scopeguard(Func&& func)  // NOLINT(*explicit*)
                : m_func(std::move(func))
            {
            }
            /*
            scopeguard(const Func& func)  // NOLINT explicit
            scopeguard(const Func& func)  // NOLINT(*explicit*)
                : m_func(func)
            {
            }
        
        diff --git a/ include/based/type_traits.hpp b/ include/based/type_traits.hpp
          @@ -23,7 +23,7 @@ 
          struct integral_constant
        
        
            using value_type = T;
            using type = integral_constant;
            // NOLINTNEXTLINE explicit
            // NOLINTNEXTLINE(*explicit*)
            constexpr operator value_type() const noexcept { return value; }
            constexpr value_type operator()() const noexcept { return value; }
          };
        
        diff --git a/ include/based/utility.hpp b/ include/based/utility.hpp
          @@ -15,7 +15,7 @@ 
          public:
        
        
            {
            }
            operator bool() const noexcept  // NOLINT explicit
            operator bool() const noexcept  // NOLINT(*explicit*)
            {
              return std::uncaught_exceptions() > m_count;
            }
        
        diff --git a/ test/source/buffer_test.cpp b/ test/source/buffer_test.cpp
          @@ -14,7 +14,7 @@ 
          TEST_CASE("valid type", "[template/buffer]")
        
        
              STATIC_REQUIRE(buffer::valid_type<std::uint8_t>());
              STATIC_REQUIRE_FALSE(buffer::valid_type<std::size_t>());
              STATIC_REQUIRE_FALSE(buffer::valid_type<char[5]>());  // NOLINT array
              STATIC_REQUIRE_FALSE(buffer::valid_type<char[5]>());  // NOLINT(*array*)
            }
            SECTION("big buffer")
        
        
          @@ -23,7 +23,7 @@ 
          TEST_CASE("valid type", "[template/buffer]")
        
        
              STATIC_REQUIRE(buffer::valid_type<std::uint8_t>());
              STATIC_REQUIRE(buffer::valid_type<std::size_t>());
              STATIC_REQUIRE_FALSE(buffer::valid_type<char[5]>());  // NOLINT array
              STATIC_REQUIRE_FALSE(buffer::valid_type<char[5]>());  // NOLINT(*array*)
            }
          }
          diff --git a/ test/source/curry_test.cpp b/ test/source/curry_test.cpp
@@ -2,12 +2,17 @@
#include "based/functional.hpp"
          // NOLINTBEGIN congnitive-complexity magic-number
          // NOLINTBEGIN(*cognitive-complexity*, *magic*)
          namespace
          {
          auto free_func(int a, double b, int c, double d)
          {
            return static_cast<int>(a + b + c + d);
          };
          }
          }  // namespace
          TEST_CASE("free function", "[functional/curry]")
          {
        
        
          @@ -42,29 +47,31 @@ 
          TEST_CASE("member function", "[functional/curry]")
        
        
          {
            struct test
            {
              auto func(int a, double b, int c, double d) const
              [[nodiscard]] auto func(int a, double b, int c, double d) const
              {
                return static_cast<int>(a + b + c + d);
                return static_cast<int>(m_x + a + b + c + d);
              }
              int m_x = 0;
            };
            const based::curried curried = &test::func;
            test t;
            test tmp;
            REQUIRE(curried(std::ref(t))(1)(2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(t))(1)(2.0)(3, 4.0) == 10);
            REQUIRE(curried(std::ref(t))(1)(2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(t))(1)(2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(t))(1, 2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(t))(1, 2.0)(3, 4.0) == 10);
            REQUIRE(curried(std::ref(t))(1, 2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(t))(1, 2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(t), 1)(2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(t), 1)(2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(t), 1, 2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(t), 1, 2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(t), 1, 2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(t), 1, 2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1)(2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1)(2.0)(3, 4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1)(2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1)(2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1, 2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1, 2.0)(3, 4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1, 2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp))(1, 2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(tmp), 1)(2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp), 1)(2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp), 1, 2.0)(3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp), 1, 2.0, 3)(4.0) == 10);
            REQUIRE(curried(std::ref(tmp), 1, 2.0, 3, 4.0) == 10);
            REQUIRE(curried(std::ref(tmp), 1, 2.0, 3, 4.0) == 10);
          }
          // NOLINTEND congnitive-complexity magic-number
          // NOLINTEND(*cognitive-complexity*, *magic*)
        
        diff --git a/ test/source/max_test.cpp b/ test/source/max_test.cpp
@@ -3,6 +3,8 @@
#include "based/type_traits.hpp"
          #include "based/algorithm.hpp"
          // NOLINTBEGIN(*const-arg*,*const-correctness*,*after-move, *access-moved)
          TEST_CASE("max(literal, literal) = right", "[algorithm/max]")
          {
            using res_t = decltype(based::max(3, 4));
        
        
          @@ -19,7 +21,7 @@ 
          TEST_CASE("max(literal, literal) = left", "[algorithm/max]")
        
        
          TEST_CASE("max(value, literal) = right", "[algorithm/max]")
          {
            int a = 3;  // NOLINT misc-const-correctness
            int a = 3;
            using res_t = decltype(based::max(a, 4));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -28,7 +30,7 @@ 
          TEST_CASE("max(value, literal) = right", "[algorithm/max]")
        
        
          TEST_CASE("max(value, literal) = left", "[algorithm/max]")
          {
            int a = 4;  // NOLINT misc-const-correctness
            int a = 4;
            using res_t = decltype(based::max(a, 3));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -37,7 +39,7 @@ 
          TEST_CASE("max(value, literal) = left", "[algorithm/max]")
        
        
          TEST_CASE("max(literal, value) = right", "[algorithm/max]")
          {
            int b = 4;  // NOLINT misc-const-correctness
            int b = 4;
            using res_t = decltype(based::max(3, b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -46,7 +48,7 @@ 
          TEST_CASE("max(literal, value) = right", "[algorithm/max]")
        
        
          TEST_CASE("max(literal, value) = left", "[algorithm/max]")
          {
            int b = 3;  // NOLINT misc-const-correctness
            int b = 3;
            using res_t = decltype(based::max(4, b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -131,7 +133,7 @@ 
          TEST_CASE("max(const value, const value) = left", "[algorithm/max]")
        
        
          TEST_CASE("max(value, const value) = right", "[algorithm/max]")
          {
            int a = 3;  // NOLINT misc-const-correctness
            int a = 3;
            const int b = 4;
            using res_t = decltype(based::max(a, b));
        
        
          @@ -141,7 +143,7 @@ 
          TEST_CASE("max(value, const value) = right", "[algorithm/max]")
        
        
          TEST_CASE("max(value, const value) = left", "[algorithm/max]")
          {
            int a = 4;  // NOLINT misc-const-correctness
            int a = 4;
            const int b = 3;
            using res_t = decltype(based::max(a, b));
        
        
          @@ -152,7 +154,7 @@ 
          TEST_CASE("max(value, const value) = left", "[algorithm/max]")
        
        
          TEST_CASE("max(const value, value) = right", "[algorithm/max]")
          {
            const int a = 3;
            int b = 4;  // NOLINT misc-const-correctness
            int b = 4;
            using res_t = decltype(based::max(a, b));
            REQUIRE(based::SameAs<const int&, res_t>);
        
        
          @@ -162,15 +164,13 @@ 
          TEST_CASE("max(const value, value) = right", "[algorithm/max]")
        
        
          TEST_CASE("max(const value, value) = left", "[algorithm/max]")
          {
            const int a = 4;
            int b = 3;  // NOLINT misc-const-correctness
            int b = 3;
            using res_t = decltype(based::max(a, b));
            REQUIRE(based::SameAs<const int&, res_t>);
            REQUIRE(based::max(a, b) == 4);
          }
          // NOLINTBEGIN move-const-arg
          TEST_CASE("max(move, literal) = right", "[algorithm/max]")
          {
            int a = 3;
        
        
          @@ -192,7 +192,7 @@ 
          TEST_CASE("max(move, literal) = left", "[algorithm/max]")
        
        
          TEST_CASE("max(move, value) = right", "[algorithm/max]")
          {
            int a = 3;
            int b = 4;  // NOLINT misc-const-correctness
            int b = 4;
            using res_t = decltype(based::max(std::move(a), b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -202,7 +202,7 @@ 
          TEST_CASE("max(move, value) = right", "[algorithm/max]")
        
        
          TEST_CASE("max(move, value) = left", "[algorithm/max]")
          {
            int a = 4;
            int b = 3;  // NOLINT misc-const-correctness
            int b = 3;
            using res_t = decltype(based::max(std::move(a), b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -249,7 +249,7 @@ 
          TEST_CASE("max(literal, move) = left", "[algorithm/max]")
        
        
          TEST_CASE("max(value, move) = right", "[algorithm/max]")
          {
            int a = 3;  // NOLINT misc-const-correctness
            int a = 3;
            int b = 4;
            using res_t = decltype(based::max(a, std::move(b)));
        
        
          @@ -259,7 +259,7 @@ 
          TEST_CASE("max(value, move) = right", "[algorithm/max]")
        
        
          TEST_CASE("max(value, move) = left", "[algorithm/max]")
          {
            int a = 4;  // NOLINT misc-const-correctness
            int a = 4;
            int b = 3;
            using res_t = decltype(based::max(a, std::move(b)));
        
        
          @@ -307,7 +307,7 @@ 
          TEST_CASE("max(move, move) = left", "[algorithm/max]")
        
        
            REQUIRE(based::max(std::move(a), std::move(b)) == 4);
          }
          // NOLINTEND move-const-arg
          // NOLINTEND(*const-arg*,*const-correctness*,*after-move, *access-moved)
          TEST_CASE("max-stability", "[algorithm/max]")
          {
        
        diff --git a/ test/source/min_test.cpp b/ test/source/min_test.cpp
@@ -3,6 +3,8 @@
#include "based/algorithm.hpp"
          #include "based/type_traits.hpp"
          // NOLINTBEGIN(*const-arg*,*const-correctness*,*after-move, *access-moved)
          TEST_CASE("min(literal, literal) = left", "[algorithm/min]")
          {
            using res_t = decltype(based::min(3, 4));
        
        
          @@ -19,7 +21,7 @@ 
          TEST_CASE("min(literal, literal) = right", "[algorithm/min]")
        
        
          TEST_CASE("min(value, literal) = left", "[algorithm/min]")
          {
            int a = 3;  // NOLINT misc-const-correctness
            int a = 3;
            using res_t = decltype(based::min(a, 4));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -28,7 +30,7 @@ 
          TEST_CASE("min(value, literal) = left", "[algorithm/min]")
        
        
          TEST_CASE("min(value, literal) = right", "[algorithm/min]")
          {
            int a = 4;  // NOLINT misc-const-correctness
            int a = 4;
            using res_t = decltype(based::min(a, 3));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -37,7 +39,7 @@ 
          TEST_CASE("min(value, literal) = right", "[algorithm/min]")
        
        
          TEST_CASE("min(literal, value) = left", "[algorithm/min]")
          {
            int b = 4;  // NOLINT misc-const-correctness
            int b = 4;
            using res_t = decltype(based::min(3, b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -46,7 +48,7 @@ 
          TEST_CASE("min(literal, value) = left", "[algorithm/min]")
        
        
          TEST_CASE("min(literal, value) = right", "[algorithm/min]")
          {
            int b = 3;  // NOLINT misc-const-correctness
            int b = 3;
            using res_t = decltype(based::min(4, b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -131,7 +133,7 @@ 
          TEST_CASE("min(const value, const value) = right", "[algorithm/min]")
        
        
          TEST_CASE("min(value, const value) = left", "[algorithm/min]")
          {
            int a = 3;  // NOLINT misc-const-correctness
            int a = 3;
            const int b = 4;
            using res_t = decltype(based::min(a, b));
        
        
          @@ -141,7 +143,7 @@ 
          TEST_CASE("min(value, const value) = left", "[algorithm/min]")
        
        
          TEST_CASE("min(value, const value) = right", "[algorithm/min]")
          {
            int a = 4;  // NOLINT misc-const-correctness
            int a = 4;
            const int b = 3;
            using res_t = decltype(based::min(a, b));
        
        
          @@ -152,7 +154,7 @@ 
          TEST_CASE("min(value, const value) = right", "[algorithm/min]")
        
        
          TEST_CASE("min(const value, value) = left", "[algorithm/min]")
          {
            const int a = 3;
            int b = 4;  // NOLINT misc-const-correctness
            int b = 4;
            using res_t = decltype(based::min(a, b));
            REQUIRE(based::SameAs<const int&, res_t>);
        
        
          @@ -162,15 +164,13 @@ 
          TEST_CASE("min(const value, value) = left", "[algorithm/min]")
        
        
          TEST_CASE("min(const value, value) = right", "[algorithm/min]")
          {
            const int a = 4;
            int b = 3;  // NOLINT misc-const-correctness
            int b = 3;
            using res_t = decltype(based::min(a, b));
            REQUIRE(based::SameAs<const int&, res_t>);
            REQUIRE(based::min(a, b) == 3);
          }
          // NOLINTBEGIN move-const-arg
          TEST_CASE("min(move, literal) = left", "[algorithm/min]")
          {
            int a = 3;
        
        
          @@ -192,7 +192,7 @@ 
          TEST_CASE("min(move, literal) = right", "[algorithm/min]")
        
        
          TEST_CASE("min(move, value) = left", "[algorithm/min]")
          {
            int a = 3;
            int b = 4;  // NOLINT misc-const-correctness
            int b = 4;
            using res_t = decltype(based::min(std::move(a), b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -202,7 +202,7 @@ 
          TEST_CASE("min(move, value) = left", "[algorithm/min]")
        
        
          TEST_CASE("min(move, value) = right", "[algorithm/min]")
          {
            int a = 4;
            int b = 3;  // NOLINT misc-const-correctness
            int b = 3;
            using res_t = decltype(based::min(std::move(a), b));
            REQUIRE(based::SameAs<int, res_t>);
        
        
          @@ -249,7 +249,7 @@ 
          TEST_CASE("min(literal, move) = right", "[algorithm/min]")
        
        
          TEST_CASE("min(value, move) = left", "[algorithm/min]")
          {
            int a = 3;  // NOLINT misc-const-correctness
            int a = 3;
            int b = 4;
            using res_t = decltype(based::min(a, std::move(b)));
        
        
          @@ -259,7 +259,7 @@ 
          TEST_CASE("min(value, move) = left", "[algorithm/min]")
        
        
          TEST_CASE("min(value, move) = right", "[algorithm/min]")
          {
            int a = 4;  // NOLINT misc-const-correctness
            int a = 4;
            int b = 3;
            using res_t = decltype(based::min(a, std::move(b)));
        
        
          @@ -307,7 +307,7 @@ 
          TEST_CASE("min(move, move) = right", "[algorithm/min]")
        
        
            REQUIRE(based::min(std::move(a), std::move(b)) == 3);
          }
          // NOLINTEND move-const-arg
          // NOLINTEND(*const-arg*,*const-correctness*,*after-move, *access-moved)
          TEST_CASE("min-stability", "[algorithm/min]")
          {
        
        diff --git a/ test/source/scopeguard_test.cpp b/ test/source/scopeguard_test.cpp
@@ -6,11 +6,11 @@
#include "based/template.hpp"
          // NOLINTBEGIN cognitive-complexity
          // NOLINTBEGIN(*cognitive-complexity*)
          struct set
          {
            set(int& val)
            explicit set(int& val)
                : m_val(&val)
            {
            }
        
        
          @@ -42,7 +42,7 @@ 
          TEST_CASE("manual", "[template/scopeguard]")
        
        
            {
              int test = 0;
              try {
                based::scopeguard guard = set(test);
                based::scopeguard guard = set(test); // NOLINT(*const*)
              } catch (...) {
                test *= 1;
              }
        
        
          @@ -131,4 +131,4 @@ 
          TEST_CASE("exit", "[template/scopeguard]")
        
        
            }
          }
          // NOLINTEND cognitive-complexity
          // NOLINTEND(*cognitive-complexity*)
        
        diff --git a/ test/source/signature_test.cpp b/ test/source/signature_test.cpp
@@ -4,20 +4,21 @@
#include "based/type_traits.hpp"
          // NOLINTBEGIN cognitive-complexity
          // NOLINTBEGIN(*cognitive-complexity*)
          namespace
          {
          int free_func(const double& a, int&& b) noexcept(false)  // NOLINT needed
          // NOLINTNEXTLINE (*needed*)
          int free_func(const double& a, int&& b) noexcept(false)
          {
            return static_cast<int>(a + std::move(b));  // NOLINT move
            return static_cast<int>(a + b);
          }
          int free_func_noexcept(const double& a, int&& b) noexcept(true
          )  // NOLINT needed
          // NOLINTNEXTLINE (*needed*)
          int free_func_noexcept(const double& a, int&& b) noexcept(true)
          {
            return static_cast<int>(a + std::move(b));  // NOLINT move
            return static_cast<int>(a + b);
          }
          }  // namespace
        
        
          @@ -474,4 +475,4 @@ 
          TEST_CASE("const volatile noexcept rvalref", "[type_traits/signature]")
        
        
            STATIC_REQUIRE(SameAs<based::true_type, sig::noexcept_val>);
          }
          // NOLINTEND cognitive-complexity
          // NOLINTEND(*cognitive-complexity*)
        
        diff --git a/ test/source/standard_traits_test.cpp b/ test/source/standard_traits_test.cpp
@@ -4,7 +4,7 @@
#include "based/type_traits.hpp"
          // NOLINTBEGIN array
          // NOLINTBEGIN(*array*)
          using based::SameAs;
          
          @@ -155,4 +155,4 @@ 
          TEST_CASE("remove_pointer", "[type_traits/remove_pointer]")
        
        
            // clang-format on
          }
          // NOLINTEND array
          // NOLINTEND(*array*)