NoAvailableAlias / nano-signal-slot

Pure C++17 Signals and Slots
MIT License
407 stars 60 forks source link

Clang-tidy warnings should be reviewed #36

Open ClausKlein opened 2 years ago

ClausKlein commented 2 years ago

see https://github.com/ClausKlein/nano-signal-slot/runs/5428126717?check_suite_focus=true


clang-tidy-12 --use-color -p=/home/klein_cl/Workspace/cpp/nano-signal-slot/build /home/klein_cl/Workspace/cpp/nano-signal-slot/build/tests/CMakeFiles/Test_Observer_Destruction.dir/Unity/unity_0_cxx.cxx
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_function.hpp:24:13: warning: integer to pointer cast pessimizes optimization opportunities [performance-no-int-to-ptr]
            reinterpret_cast<void*>(delegate_key[0]),
            ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_function.hpp:25:13: warning: integer to pointer cast pessimizes optimization opportunities [performance-no-int-to-ptr]
            reinterpret_cast<Thunk>(delegate_key[1])
            ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_function.hpp:31:17: warning: member variable 'instance_pointer' has public visibility [misc-non-private-member-variables-in-classes]
    void* const instance_pointer;
                ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_function.hpp:32:17: warning: member variable 'function_pointer' has public visibility [misc-non-private-member-variables-in-classes]
    const Thunk function_pointer;
                ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_mutex.hpp:47:17: warning: operator=() does not handle self-assignment properly [cert-oop54-cpp]
    Spin_Mutex& operator= (Spin_Mutex const& other) noexcept
                ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_mutex.hpp:298:32: warning: do not define a C-style variadic function; consider using a function parameter pack or currying instead [cert-dcl50-cpp]
    Shared_Ptr tracker { this, [](...){} };
                               ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_mutex.hpp:306:62: warning: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference]
        std::unique_lock<TS_Policy_Safe> unlock_after_copy = std::move(lock);
                                                             ^~~~~~~~~
                                                             std::forward<L>
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_observer.hpp:20:22: warning: member variable 'delegate' has public visibility [misc-non-private-member-variables-in-classes]
        Delegate_Key delegate;
                     ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_observer.hpp:21:38: warning: member variable 'observer' has public visibility [misc-non-private-member-variables-in-classes]
        typename MT_Policy::Weak_Ptr observer;
                                     ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_observer.hpp:186:5: warning: deleted member function should be public [modernize-use-equals-delete]
    Observer(Observer const&) noexcept = delete;
    ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_observer.hpp:187:15: warning: deleted member function should be public [modernize-use-equals-delete]
    Observer& operator= (Observer const&) noexcept = delete;
              ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_signal_slot.hpp:30:10: warning: do not define a C-style variadic function; consider using a function parameter pack or currying instead [cert-dcl50-cpp]
    void insert_sfinae(Delegate_Key const& key, ...)
         ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_signal_slot.hpp:35:10: warning: do not define a C-style variadic function; consider using a function parameter pack or currying instead [cert-dcl50-cpp]
    void remove_sfinae(Delegate_Key const& key, ...)
         ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/../nano_signal_slot.hpp:43:5: warning: annotate this function with 'override' or (rarely) 'final' [modernize-use-override]
    ~Signal() noexcept = default;
    ^
                       override
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Base.hpp:13:5: warning: do not use unnamed namespaces in header files [cert-dcl59-cpp]
    namespace
    ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Base.hpp:15:21: warning: function 'anonymous_output' defined in a header file; function definitions in header files can lead to ODR violations [misc-definitions-in-headers]
        static void anonymous_output(const char* fn, const char* sl, std::size_t ln)
                    ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Base.hpp:15:21: note: make as 'inline'
        static void anonymous_output(const char* fn, const char* sl, std::size_t ln)
                    ^
        inline
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Base.hpp:151:21: warning: member variable 'count' has public visibility [misc-non-private-member-variables-in-classes]
        std::size_t count = 0;
                    ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Base.hpp:158:21: warning: operator=() does not handle self-assignment properly [cert-oop54-cpp]
        Copy_Count& operator= (Copy_Count const& other)
                    ^
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Signal_Fire.cpp:111:43: warning: the parameter 'cc' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
            auto slot_one = [](Copy_Count cc)
                                          ^
                               const     &
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Signal_Fire.cpp:118:43: warning: the parameter 'cc' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
            auto slot_two = [](Copy_Count cc)
                                          ^
                               const     &
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Signal_Fire.cpp:157:43: warning: the parameter 'cc' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
            auto slot_one = [](Copy_Count cc)
                                          ^
                               const     &
/home/klein_cl/Workspace/cpp/nano-signal-slot/tests/Test_Signal_Fire.cpp:164:43: warning: the parameter 'cc' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
            auto slot_two = [](Copy_Count cc)
                                          ^
                               const     &
100593 warnings generated.
Suppressed 100515 warnings (100504 in non-user code, 4 NOLINT, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
clang-tidy-12 --use-color -p=/home/klein_cl/Workspace/cpp/nano-signal-slot/build /home/klein_cl/Workspace/cpp/nano-signal-slot/tests/catch_main.cpp
119239 warnings generated.
Suppressed 119243 warnings (119236 in non-user code, 4 NOLINT, 3 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
~/Workspace/cpp/nano-signal-slot/build$
``