CMake Warning (dev) at cmake/modules/Findnnvg.cmake:40 (cmake_parse_arguments): The OUTPUT_FOLDER keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_OUTPUT_FOLDER variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:163 (_init_nnvg_command_args) CMakeLists.txt:45 (define_nunavut_support_target) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/Findnnvg.cmake:40 (cmake_parse_arguments): The OUTPUT_FOLDER keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_OUTPUT_FOLDER variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:228 (_init_nnvg_command_args) CMakeLists.txt:50 (add_dsdl_cpp_codegen) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/Findnnvg.cmake:87 (cmake_parse_arguments): The ADD_TO_ALL keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_ADD_TO_ALL variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:298 (_define_nnvg_rules) CMakeLists.txt:50 (add_dsdl_cpp_codegen) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/Findnnvg.cmake:40 (cmake_parse_arguments): The OUTPUT_FOLDER keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_OUTPUT_FOLDER variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:228 (_init_nnvg_command_args) test/unittest/CMakeLists.txt:20 (add_dsdl_cpp_codegen) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/Findnnvg.cmake:87 (cmake_parse_arguments): The ADD_TO_ALL keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_ADD_TO_ALL variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:298 (_define_nnvg_rules) test/unittest/CMakeLists.txt:20 (add_dsdl_cpp_codegen) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/Findnnvg.cmake:40 (cmake_parse_arguments): The OUTPUT_FOLDER keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_OUTPUT_FOLDER variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:228 (_init_nnvg_command_args) docs/examples/CMakeLists.txt:27 (add_dsdl_cpp_codegen) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/Findnnvg.cmake:87 (cmake_parse_arguments): The ADD_TO_ALL keyword was followed by an empty string or no value at all. Policy CMP0174 is not set, so cmake_parse_arguments() will unset the ARG_ADD_TO_ALL variable rather than setting it to an empty string. Call Stack (most recent call first): cmake/modules/Findnnvg.cmake:298 (_define_nnvg_rules) docs/examples/CMakeLists.txt:27 (add_dsdl_cpp_codegen) This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done (3.7s) -- Generating done (0.1s) -- Build files have been written to: /home/erics/libcyphal/build [0/2] Re-checking globbed directories... [1/87] Building CXX object test/unittest/CMakeFiles/test_can_msg_tx_session__googletest_objlib.dir/transport/can/test_can_msg_tx_session.cpp.o FAILED: test/unittest/CMakeFiles/test_can_msg_tx_session__googletest_objlib.dir/transport/can/test_can_msg_tx_session.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/transport/can/test_can_msg_tx_session.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_can_msg_tx_session__googletest_objlib.dir/transport/can/test_can_msg_tx_session.cpp.o -MF test/unittest/CMakeFiles/test_can_msg_tx_session__googletest_objlib.dir/transport/can/test_can_msg_tx_session.cpp.o.d -o test/unittest/CMakeFiles/test_can_msg_tx_session__googletest_objlib.dir/transport/can/test_can_msg_tx_session.cpp.o -c /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_tx_session.cpp /home/erics/libcyphal/include/libcyphal/executor.hpp:47:20: error: constructor does not initialize these fields: exec_time [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Once ^ /home/erics/libcyphal/include/libcyphal/executor.hpp:82:16: error: constructor does not initialize these fields: exec_time, approx_now [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Arg ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:58:31: error: method 'spinOnce' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] CETL_NODISCARD SpinResult spinOnce() ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:106:72: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD Callback::Any registerCallback(Callback::Function&& function) override ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:77: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:133:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(CallbackNode&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:146:14: error: method 'reschedule' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void reschedule(const Callback::Arg& arg) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:208:10: error: method 'insertCallbackNode' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void insertCallbackNode(CallbackNode& callback_node) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:231:81: error: parameter 'next_exec_time' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional isNowTimeToExecute(const TimePoint next_exec_time, ^~~~~~~~~~~~~~ /*next_exec_time*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:44:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardTxPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:52:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardRxAccept ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:60:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPop ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:68:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:76:16: error: constructor does not initialize these fields: failure [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct ConfigureMedia ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:82:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaConfig ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: error: destructor of 'TransportImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: note: make it public and virtual class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:72:9: error: constructor does not initialize these fields: canard_tx_queue_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] Media(const std::size_t index, IMedia& interface, const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: error: 2 adjacent parameters of 'make' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:37: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:9: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: error: parameter 'media' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media, ^~~~~ /*media*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:150:20: error: variable 'media_array' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] MediaArray media_array{media_count, &memory}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:5: error: constructor does not initialize these fields: media_array_, transient_error_handler_, svc_response_rx_session_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:101: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:60: error: 3 adjacent parameters of 'sendTransfer' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: note: the first parameter in the range is 'deadline' CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: note: the last parameter in the range is 'payload_fragments' const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:60: note: 'const int' and 'const int &' parameters accept and bind the same kind of values const CanardTransferMetadata& metadata, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:90: error: parameter 'metadata' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferMetadata& metadata, ^~~~~~~~ /*metadata*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: error: 2 adjacent parameters of 'makeRxSessionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:34: note: the last parameter in the range is 'port_id' const PortId port_id, ^~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:9: note: 'const int' and 'const libcyphal::transport::PortId' may be implicitly converted: 'const int' (as 'int') -> 'const libcyphal::transport::PortId' (as 'unsigned short'), 'const libcyphal::transport::PortId' (as 'unsigned short') -> 'const int' (as 'int') const PortId port_id, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:421:27: error: variable 'has_port' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t has_port = ::canardRxGetSubscription(&canardInstance(), transfer_kind, port_id, nullptr); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:485:71: error: parameter 'failure' is unused [misc-unused-parameters,-warnings-as-errors] cetl::optional tryHandleTransientFailure(AnyFailure&& failure, Args&&... args) ^~~~~~~ /*failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:497:76: error: parameter 'media_failure' is unused [misc-unused-parameters,-warnings-as-errors] void tryHandleTransientMediaFailure(const Media& media, MediaFailure&& media_failure) ^~~~~~~~~~~~~ /*media_failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:506:36: error: variable 'failure' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] cetl::optional failure = optAnyFailureFromCanard(result); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:515:73: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD static bool makeMediaArray(MediaArray& media_array, ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: error: 3 adjacent parameters of 'makeMediaArray' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const std::size_t media_count, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:73: note: the first parameter in the range is 'media_count' const std::size_t media_count, ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:518:73: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: note: const std::size_t media_count, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:47: note: 'const std::size_t' and 'const int' may be implicitly converted: 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int'), 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long') const cetl::span media_interfaces, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:73: error: parameter 'media_interfaces' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media_interfaces, ^~~~~~~~~~~~~~~~ /*media_interfaces*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:51: error: parameter 'canard_tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:90: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:558:38: error: variable 'item' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTxQueueItem* const item = ::canardTxPop(&canard_tx_queue, maybe_item); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:563:10: error: method 'receiveNextFrame' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void receiveNextFrame(const Media& media) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:565:48: error: variable 'payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::array payload{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:567:33: error: variable 'pop_result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] IMedia::PopResult::Type pop_result = media.interface().pop(payload); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:583:27: error: variable 'canard_frame' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardFrame canard_frame{pop_meta.can_id, {pop_meta.payload_size, payload.data()}}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:585:31: error: variable 'out_transfer' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxTransfer out_transfer{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:586:31: error: variable 'out_subscription' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxSubscription* out_subscription{}; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:588:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxAccept(&canardInstance(), ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:603:25: error: variable 'session_delegate' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] auto* const session_delegate = ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:74: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:104: error: parameter 'frame' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~ /*frame*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:681:9: error: this loop is infinite; none of its condition variables (result) are updated in the loop body [bugprone-infinite-loop,-warnings-as-errors] while (result < 0) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:60: error: 2 adjacent parameters of 'peekFirstValidTxItem' of similar type ('int &') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: note: the first parameter in the range is 'canard_tx' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: note: the last parameter in the range is 'out_deadline' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: error: parameter 'canard_tx' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /*canard_tx*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: error: parameter 'out_deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /*out_deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:713:25: error: variable 'now' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const TimePoint now = executor_.now(); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:744:10: error: method 'configureMediaFilters' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void configureMediaFilters() ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: error: 2 adjacent parameters of 'makeTransport' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:101: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:101: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:73: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: error: destructor of 'CanardMemory' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: note: make it public and virtual class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:5: error: constructor does not initialize these fields: allocated_size_, buffer_, payload_size_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:76: error: parameter 'payload' is unused [misc-unused-parameters,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^~~~~~~ /*payload*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:174:64: error: parameter 'root' is unused [misc-unused-parameters,-warnings-as-errors] static std::size_t visitCounting(CanardTreeNode* const root, const Visitor& visitor) ^~~~ /*root*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:177:35: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* node = root; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:178:35: error: variable 'prev' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardTreeNode* prev = nullptr; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:182:33: error: variable 'next' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* next = node->up; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:312:10: error: method 'retainRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void retainRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:330:10: error: method 'releaseRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void releaseRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:10: error: method 'cancelRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:34: error: 2 adjacent parameters of 'cancelRxSubscriptionFor' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: note: the first parameter in the range is 'subscription' void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: note: the last parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:34: note: 'const int &' and 'const int' parameters accept and bind the same kind of values const CanardTransferKind transfer_kind) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:344:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxUnsubscribe(&canard_instance_, transfer_kind, subscription.port_id); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:392:67: error: parameter 'tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void popAndFreeCanardTxQueueItem(CanardTxQueue& tx_queue, ^~~~~~~~ /*tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:393:67: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] const CanardInstance& canard_instance, ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:394:67: error: parameter 'tx_item' is unused [misc-unused-parameters,-warnings-as-errors] CanardTxQueueItem* tx_item, ^~~~~~~ /*tx_item*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:436:5: error: constructor does not initialize these fields: canard_instance_, rx_subs_demux_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit TransportDelegate(cetl::pmr::memory_resource& memory) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:25: error: method 'fillMediaFiltersArray' can be made const [readability-make-member-function-const,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^ const /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:84: error: parameter 'filters' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^~~~~~~ /*filters*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:471:27: error: variable 'total_active_ports' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::size_t total_active_ports = subs_stats_.total_msg_rx_ports // ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:506:65: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto msg_visitor = [&filters](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:519:80: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto svc_visitor = [&filters, local_node_id](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: error: destructor of 'RxSubsDemuxNode' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: note: make it public and virtual class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:9: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:88: error: parameter 'args_tuple' is unused [misc-unused-parameters,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^~~~~~~~~~ /*args_tuple*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:560:9: error: use '= default' to define a trivial destructor [hicpp-use-equals-default,modernize-use-equals-default,-warnings-as-errors] ~RxSubsDemuxNode() ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:10: error: method 'listenForRxSubscriptionImpl' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:63: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: error: 3 adjacent parameters of 'listenForRxSubscriptionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:63: note: the last parameter in the range is 'extent_bytes' const size_t extent_bytes) ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:38: note: 'const int' and 'const size_t' may be implicitly converted: 'const int' (as 'int') -> 'const size_t' (as 'unsigned long'), 'const size_t' (as 'unsigned long') -> 'const int' (as 'int') const size_t extent_bytes) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:658:63: error: parameter 'port_id' is unused [misc-unused-parameters,-warnings-as-errors] const CanardPortID port_id, ^~~~~~~ /*port_id*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:661:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxSubscribe(&canard_instance_, ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/media.hpp:106:16: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Metadata ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: error: destructor of 'MessageRxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: note: make it public and virtual class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:72:5: error: constructor does not initialize these fields: subscription_, on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] MessageRxSession(const Spec, TransportDelegate& delegate, const MessageRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: error: destructor of 'MessageTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: note: make it public and virtual class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:79:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:71:5: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRequestRxSession(const Spec, TransportDelegate& delegate, const RequestRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:99:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:181:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: error: destructor of 'SvcRequestTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: note: make it public and virtual class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:81:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: error: destructor of 'SvcResponseTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: note: make it public and virtual class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:158:77: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/contiguous_payload.hpp:42:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] ContiguousPayload(cetl::pmr::memory_resource& mr, const PayloadFragments payload_fragments) ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:135:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer() ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:5: error: constructor does not initialize these fields: storage_variant_, storage_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: constructor accepting a forwarding reference can hide the move constructor [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: note: move constructor declared here ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:60:5: error: constructor does not initialize these fields: allocator_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit SessionTree(cetl::pmr::memory_resource& mr) ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:145:21: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] Node* const node = allocator_.allocate(1); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/svc_rx_session_base.hpp:39:5: error: constructor does not initialize these fields: on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRxSessionBase(TransportDelegate& delegate, const Params& params) ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:63:8: error: constructor does not initialize these fields: deadline [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferTxMetadata final ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:69:8: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferRxMetadata final ^ /home/erics/libcyphal/include/libcyphal/types.hpp:51:14: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ImplementationCell(Impl&& object) ^ /home/erics/libcyphal/test/unittest/transport/can/can_gtest_helpers.hpp:11:10: error: 'canard.h' file not found [clang-diagnostic-error] #include ^~~~~~~~~~ /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_tx_session.cpp:174:32: error: variable 'empty_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] constexpr PayloadFragments empty_payload{}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_tx_session.cpp:216:28: error: variable 'empty_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const PayloadFragments empty_payload{}; ^ = 0 89533 warnings and 1 error generated. Error while processing /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_tx_session.cpp. Suppressed 89561 warnings (89393 in non-user code, 168 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 114 warnings treated as errors [2/87] Building CXX object test/unittest/CMakeFiles/test_can_svc_rx_sessions__googletest_objlib.dir/transport/can/test_can_svc_rx_sessions.cpp.o FAILED: test/unittest/CMakeFiles/test_can_svc_rx_sessions__googletest_objlib.dir/transport/can/test_can_svc_rx_sessions.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_can_svc_rx_sessions__googletest_objlib.dir/transport/can/test_can_svc_rx_sessions.cpp.o -MF test/unittest/CMakeFiles/test_can_svc_rx_sessions__googletest_objlib.dir/transport/can/test_can_svc_rx_sessions.cpp.o.d -o test/unittest/CMakeFiles/test_can_svc_rx_sessions__googletest_objlib.dir/transport/can/test_can_svc_rx_sessions.cpp.o -c /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp /home/erics/libcyphal/include/libcyphal/executor.hpp:47:20: error: constructor does not initialize these fields: exec_time [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Once ^ /home/erics/libcyphal/include/libcyphal/executor.hpp:82:16: error: constructor does not initialize these fields: exec_time, approx_now [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Arg ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:58:31: error: method 'spinOnce' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] CETL_NODISCARD SpinResult spinOnce() ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:106:72: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD Callback::Any registerCallback(Callback::Function&& function) override ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:77: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:133:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(CallbackNode&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:146:14: error: method 'reschedule' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void reschedule(const Callback::Arg& arg) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:208:10: error: method 'insertCallbackNode' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void insertCallbackNode(CallbackNode& callback_node) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:231:81: error: parameter 'next_exec_time' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional isNowTimeToExecute(const TimePoint next_exec_time, ^~~~~~~~~~~~~~ /*next_exec_time*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:44:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardTxPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:52:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardRxAccept ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:60:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPop ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:68:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:76:16: error: constructor does not initialize these fields: failure [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct ConfigureMedia ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:82:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaConfig ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: error: destructor of 'TransportImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: note: make it public and virtual class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:72:9: error: constructor does not initialize these fields: canard_tx_queue_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] Media(const std::size_t index, IMedia& interface, const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: error: 2 adjacent parameters of 'make' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:37: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:9: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: error: parameter 'media' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media, ^~~~~ /*media*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:150:20: error: variable 'media_array' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] MediaArray media_array{media_count, &memory}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:5: error: constructor does not initialize these fields: media_array_, transient_error_handler_, svc_response_rx_session_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:101: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:60: error: 3 adjacent parameters of 'sendTransfer' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: note: the first parameter in the range is 'deadline' CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: note: the last parameter in the range is 'payload_fragments' const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:60: note: 'const int' and 'const int &' parameters accept and bind the same kind of values const CanardTransferMetadata& metadata, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:90: error: parameter 'metadata' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferMetadata& metadata, ^~~~~~~~ /*metadata*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: error: 2 adjacent parameters of 'makeRxSessionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:34: note: the last parameter in the range is 'port_id' const PortId port_id, ^~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:9: note: 'const int' and 'const libcyphal::transport::PortId' may be implicitly converted: 'const int' (as 'int') -> 'const libcyphal::transport::PortId' (as 'unsigned short'), 'const libcyphal::transport::PortId' (as 'unsigned short') -> 'const int' (as 'int') const PortId port_id, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:421:27: error: variable 'has_port' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t has_port = ::canardRxGetSubscription(&canardInstance(), transfer_kind, port_id, nullptr); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:485:71: error: parameter 'failure' is unused [misc-unused-parameters,-warnings-as-errors] cetl::optional tryHandleTransientFailure(AnyFailure&& failure, Args&&... args) ^~~~~~~ /*failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:497:76: error: parameter 'media_failure' is unused [misc-unused-parameters,-warnings-as-errors] void tryHandleTransientMediaFailure(const Media& media, MediaFailure&& media_failure) ^~~~~~~~~~~~~ /*media_failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:506:36: error: variable 'failure' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] cetl::optional failure = optAnyFailureFromCanard(result); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:515:73: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD static bool makeMediaArray(MediaArray& media_array, ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: error: 3 adjacent parameters of 'makeMediaArray' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const std::size_t media_count, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:73: note: the first parameter in the range is 'media_count' const std::size_t media_count, ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:518:73: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: note: const std::size_t media_count, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:47: note: 'const std::size_t' and 'const int' may be implicitly converted: 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int'), 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long') const cetl::span media_interfaces, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:73: error: parameter 'media_interfaces' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media_interfaces, ^~~~~~~~~~~~~~~~ /*media_interfaces*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:51: error: parameter 'canard_tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:90: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:558:38: error: variable 'item' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTxQueueItem* const item = ::canardTxPop(&canard_tx_queue, maybe_item); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:563:10: error: method 'receiveNextFrame' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void receiveNextFrame(const Media& media) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:565:48: error: variable 'payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::array payload{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:567:33: error: variable 'pop_result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] IMedia::PopResult::Type pop_result = media.interface().pop(payload); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:583:27: error: variable 'canard_frame' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardFrame canard_frame{pop_meta.can_id, {pop_meta.payload_size, payload.data()}}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:585:31: error: variable 'out_transfer' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxTransfer out_transfer{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:586:31: error: variable 'out_subscription' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxSubscription* out_subscription{}; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:588:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxAccept(&canardInstance(), ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:603:25: error: variable 'session_delegate' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] auto* const session_delegate = ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:74: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:104: error: parameter 'frame' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~ /*frame*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:681:9: error: this loop is infinite; none of its condition variables (result) are updated in the loop body [bugprone-infinite-loop,-warnings-as-errors] while (result < 0) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:60: error: 2 adjacent parameters of 'peekFirstValidTxItem' of similar type ('int &') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: note: the first parameter in the range is 'canard_tx' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: note: the last parameter in the range is 'out_deadline' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: error: parameter 'canard_tx' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /*canard_tx*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: error: parameter 'out_deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /*out_deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:713:25: error: variable 'now' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const TimePoint now = executor_.now(); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:744:10: error: method 'configureMediaFilters' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void configureMediaFilters() ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: error: 2 adjacent parameters of 'makeTransport' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:101: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:101: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:73: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: error: destructor of 'CanardMemory' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: note: make it public and virtual class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:5: error: constructor does not initialize these fields: allocated_size_, buffer_, payload_size_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:76: error: parameter 'payload' is unused [misc-unused-parameters,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^~~~~~~ /*payload*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:174:64: error: parameter 'root' is unused [misc-unused-parameters,-warnings-as-errors] static std::size_t visitCounting(CanardTreeNode* const root, const Visitor& visitor) ^~~~ /*root*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:177:35: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* node = root; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:178:35: error: variable 'prev' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardTreeNode* prev = nullptr; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:182:33: error: variable 'next' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* next = node->up; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:312:10: error: method 'retainRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void retainRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:330:10: error: method 'releaseRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void releaseRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:10: error: method 'cancelRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:34: error: 2 adjacent parameters of 'cancelRxSubscriptionFor' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: note: the first parameter in the range is 'subscription' void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: note: the last parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:34: note: 'const int &' and 'const int' parameters accept and bind the same kind of values const CanardTransferKind transfer_kind) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:344:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxUnsubscribe(&canard_instance_, transfer_kind, subscription.port_id); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:392:67: error: parameter 'tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void popAndFreeCanardTxQueueItem(CanardTxQueue& tx_queue, ^~~~~~~~ /*tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:393:67: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] const CanardInstance& canard_instance, ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:394:67: error: parameter 'tx_item' is unused [misc-unused-parameters,-warnings-as-errors] CanardTxQueueItem* tx_item, ^~~~~~~ /*tx_item*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:436:5: error: constructor does not initialize these fields: canard_instance_, rx_subs_demux_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit TransportDelegate(cetl::pmr::memory_resource& memory) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:25: error: method 'fillMediaFiltersArray' can be made const [readability-make-member-function-const,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^ const /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:84: error: parameter 'filters' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^~~~~~~ /*filters*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:471:27: error: variable 'total_active_ports' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::size_t total_active_ports = subs_stats_.total_msg_rx_ports // ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:506:65: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto msg_visitor = [&filters](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:519:80: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto svc_visitor = [&filters, local_node_id](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: error: destructor of 'RxSubsDemuxNode' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: note: make it public and virtual class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:9: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:88: error: parameter 'args_tuple' is unused [misc-unused-parameters,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^~~~~~~~~~ /*args_tuple*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:560:9: error: use '= default' to define a trivial destructor [hicpp-use-equals-default,modernize-use-equals-default,-warnings-as-errors] ~RxSubsDemuxNode() ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:10: error: method 'listenForRxSubscriptionImpl' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:63: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: error: 3 adjacent parameters of 'listenForRxSubscriptionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:63: note: the last parameter in the range is 'extent_bytes' const size_t extent_bytes) ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:38: note: 'const int' and 'const size_t' may be implicitly converted: 'const int' (as 'int') -> 'const size_t' (as 'unsigned long'), 'const size_t' (as 'unsigned long') -> 'const int' (as 'int') const size_t extent_bytes) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:658:63: error: parameter 'port_id' is unused [misc-unused-parameters,-warnings-as-errors] const CanardPortID port_id, ^~~~~~~ /*port_id*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:661:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxSubscribe(&canard_instance_, ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/media.hpp:106:16: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Metadata ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: error: destructor of 'MessageRxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: note: make it public and virtual class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:72:5: error: constructor does not initialize these fields: subscription_, on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] MessageRxSession(const Spec, TransportDelegate& delegate, const MessageRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: error: destructor of 'MessageTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: note: make it public and virtual class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:79:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:71:5: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRequestRxSession(const Spec, TransportDelegate& delegate, const RequestRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:99:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:181:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: error: destructor of 'SvcRequestTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: note: make it public and virtual class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:81:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: error: destructor of 'SvcResponseTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: note: make it public and virtual class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:158:77: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/contiguous_payload.hpp:42:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] ContiguousPayload(cetl::pmr::memory_resource& mr, const PayloadFragments payload_fragments) ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:135:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer() ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:5: error: constructor does not initialize these fields: storage_variant_, storage_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: constructor accepting a forwarding reference can hide the move constructor [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: note: move constructor declared here ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:60:5: error: constructor does not initialize these fields: allocator_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit SessionTree(cetl::pmr::memory_resource& mr) ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:145:21: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] Node* const node = allocator_.allocate(1); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/svc_rx_session_base.hpp:39:5: error: constructor does not initialize these fields: on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRxSessionBase(TransportDelegate& delegate, const Params& params) ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:63:8: error: constructor does not initialize these fields: deadline [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferTxMetadata final ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:69:8: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferRxMetadata final ^ /home/erics/libcyphal/include/libcyphal/types.hpp:51:14: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ImplementationCell(Impl&& object) ^ /home/erics/libcyphal/test/unittest/transport/can/can_gtest_helpers.hpp:11:10: error: 'canard.h' file not found [clang-diagnostic-error] #include ^~~~~~~~~~ /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:118:33: error: method 'makeFragmentFromCanDumpLine' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] IMedia::PopResult::Metadata makeFragmentFromCanDumpLine(const std::string& can_dump_line, ^ static /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:119:90: error: parameter 'payload' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span payload) const ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:133:9: error: this loop is infinite; none of its condition variables (i) are updated in the loop body [bugprone-infinite-loop,-warnings-as-errors] for (std::size_t i = data_len; i > 0; --i, data >>= 8U) ^ /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:133:26: error: variable 'i' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] for (std::size_t i = data_len; i > 0; --i, data >>= 8U) ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:172:27: error: variable 'subscription' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxSubscription* subscription = nullptr; ^ = nullptr /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:259:15: error: variable 'rx_timestamp' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] TimePoint rx_timestamp; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:337:15: error: variable 'rx_timestamp' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] TimePoint rx_timestamp; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:411:15: error: variable 'rx_timestamp' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] TimePoint rx_timestamp; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp:637:53: error: variable 'calls' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::vector> calls; ^ = 0 89546 warnings and 1 error generated. Error while processing /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_rx_sessions.cpp. Suppressed 89563 warnings (89399 in non-user code, 164 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 121 warnings treated as errors [3/87] Building CXX object test/unittest/CMakeFiles/test_can_msg_rx_session__googletest_objlib.dir/transport/can/test_can_msg_rx_session.cpp.o FAILED: test/unittest/CMakeFiles/test_can_msg_rx_session__googletest_objlib.dir/transport/can/test_can_msg_rx_session.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_can_msg_rx_session__googletest_objlib.dir/transport/can/test_can_msg_rx_session.cpp.o -MF test/unittest/CMakeFiles/test_can_msg_rx_session__googletest_objlib.dir/transport/can/test_can_msg_rx_session.cpp.o.d -o test/unittest/CMakeFiles/test_can_msg_rx_session__googletest_objlib.dir/transport/can/test_can_msg_rx_session.cpp.o -c /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp /home/erics/libcyphal/include/libcyphal/executor.hpp:47:20: error: constructor does not initialize these fields: exec_time [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Once ^ /home/erics/libcyphal/include/libcyphal/executor.hpp:82:16: error: constructor does not initialize these fields: exec_time, approx_now [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Arg ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:58:31: error: method 'spinOnce' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] CETL_NODISCARD SpinResult spinOnce() ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:106:72: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD Callback::Any registerCallback(Callback::Function&& function) override ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:77: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:133:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(CallbackNode&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:146:14: error: method 'reschedule' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void reschedule(const Callback::Arg& arg) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:208:10: error: method 'insertCallbackNode' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void insertCallbackNode(CallbackNode& callback_node) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:231:81: error: parameter 'next_exec_time' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional isNowTimeToExecute(const TimePoint next_exec_time, ^~~~~~~~~~~~~~ /*next_exec_time*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:44:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardTxPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:52:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardRxAccept ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:60:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPop ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:68:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:76:16: error: constructor does not initialize these fields: failure [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct ConfigureMedia ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:82:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaConfig ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: error: destructor of 'TransportImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: note: make it public and virtual class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:72:9: error: constructor does not initialize these fields: canard_tx_queue_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] Media(const std::size_t index, IMedia& interface, const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: error: 2 adjacent parameters of 'make' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:37: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:9: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: error: parameter 'media' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media, ^~~~~ /*media*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:150:20: error: variable 'media_array' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] MediaArray media_array{media_count, &memory}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:5: error: constructor does not initialize these fields: media_array_, transient_error_handler_, svc_response_rx_session_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:101: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:60: error: 3 adjacent parameters of 'sendTransfer' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: note: the first parameter in the range is 'deadline' CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: note: the last parameter in the range is 'payload_fragments' const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:60: note: 'const int' and 'const int &' parameters accept and bind the same kind of values const CanardTransferMetadata& metadata, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:90: error: parameter 'metadata' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferMetadata& metadata, ^~~~~~~~ /*metadata*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: error: 2 adjacent parameters of 'makeRxSessionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:34: note: the last parameter in the range is 'port_id' const PortId port_id, ^~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:9: note: 'const int' and 'const libcyphal::transport::PortId' may be implicitly converted: 'const int' (as 'int') -> 'const libcyphal::transport::PortId' (as 'unsigned short'), 'const libcyphal::transport::PortId' (as 'unsigned short') -> 'const int' (as 'int') const PortId port_id, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:421:27: error: variable 'has_port' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t has_port = ::canardRxGetSubscription(&canardInstance(), transfer_kind, port_id, nullptr); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:485:71: error: parameter 'failure' is unused [misc-unused-parameters,-warnings-as-errors] cetl::optional tryHandleTransientFailure(AnyFailure&& failure, Args&&... args) ^~~~~~~ /*failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:497:76: error: parameter 'media_failure' is unused [misc-unused-parameters,-warnings-as-errors] void tryHandleTransientMediaFailure(const Media& media, MediaFailure&& media_failure) ^~~~~~~~~~~~~ /*media_failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:506:36: error: variable 'failure' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] cetl::optional failure = optAnyFailureFromCanard(result); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:515:73: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD static bool makeMediaArray(MediaArray& media_array, ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: error: 3 adjacent parameters of 'makeMediaArray' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const std::size_t media_count, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:73: note: the first parameter in the range is 'media_count' const std::size_t media_count, ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:518:73: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: note: const std::size_t media_count, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:47: note: 'const std::size_t' and 'const int' may be implicitly converted: 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int'), 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long') const cetl::span media_interfaces, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:73: error: parameter 'media_interfaces' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media_interfaces, ^~~~~~~~~~~~~~~~ /*media_interfaces*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:51: error: parameter 'canard_tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:90: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:558:38: error: variable 'item' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTxQueueItem* const item = ::canardTxPop(&canard_tx_queue, maybe_item); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:563:10: error: method 'receiveNextFrame' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void receiveNextFrame(const Media& media) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:565:48: error: variable 'payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::array payload{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:567:33: error: variable 'pop_result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] IMedia::PopResult::Type pop_result = media.interface().pop(payload); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:583:27: error: variable 'canard_frame' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardFrame canard_frame{pop_meta.can_id, {pop_meta.payload_size, payload.data()}}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:585:31: error: variable 'out_transfer' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxTransfer out_transfer{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:586:31: error: variable 'out_subscription' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxSubscription* out_subscription{}; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:588:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxAccept(&canardInstance(), ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:603:25: error: variable 'session_delegate' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] auto* const session_delegate = ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:74: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:104: error: parameter 'frame' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~ /*frame*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:681:9: error: this loop is infinite; none of its condition variables (result) are updated in the loop body [bugprone-infinite-loop,-warnings-as-errors] while (result < 0) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:60: error: 2 adjacent parameters of 'peekFirstValidTxItem' of similar type ('int &') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: note: the first parameter in the range is 'canard_tx' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: note: the last parameter in the range is 'out_deadline' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: error: parameter 'canard_tx' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /*canard_tx*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: error: parameter 'out_deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /*out_deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:713:25: error: variable 'now' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const TimePoint now = executor_.now(); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:744:10: error: method 'configureMediaFilters' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void configureMediaFilters() ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: error: 2 adjacent parameters of 'makeTransport' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:101: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:101: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:73: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: error: destructor of 'CanardMemory' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: note: make it public and virtual class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:5: error: constructor does not initialize these fields: allocated_size_, buffer_, payload_size_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:76: error: parameter 'payload' is unused [misc-unused-parameters,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^~~~~~~ /*payload*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:174:64: error: parameter 'root' is unused [misc-unused-parameters,-warnings-as-errors] static std::size_t visitCounting(CanardTreeNode* const root, const Visitor& visitor) ^~~~ /*root*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:177:35: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* node = root; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:178:35: error: variable 'prev' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardTreeNode* prev = nullptr; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:182:33: error: variable 'next' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* next = node->up; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:312:10: error: method 'retainRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void retainRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:330:10: error: method 'releaseRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void releaseRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:10: error: method 'cancelRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:34: error: 2 adjacent parameters of 'cancelRxSubscriptionFor' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: note: the first parameter in the range is 'subscription' void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: note: the last parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:34: note: 'const int &' and 'const int' parameters accept and bind the same kind of values const CanardTransferKind transfer_kind) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:344:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxUnsubscribe(&canard_instance_, transfer_kind, subscription.port_id); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:392:67: error: parameter 'tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void popAndFreeCanardTxQueueItem(CanardTxQueue& tx_queue, ^~~~~~~~ /*tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:393:67: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] const CanardInstance& canard_instance, ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:394:67: error: parameter 'tx_item' is unused [misc-unused-parameters,-warnings-as-errors] CanardTxQueueItem* tx_item, ^~~~~~~ /*tx_item*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:436:5: error: constructor does not initialize these fields: canard_instance_, rx_subs_demux_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit TransportDelegate(cetl::pmr::memory_resource& memory) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:25: error: method 'fillMediaFiltersArray' can be made const [readability-make-member-function-const,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^ const /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:84: error: parameter 'filters' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^~~~~~~ /*filters*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:471:27: error: variable 'total_active_ports' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::size_t total_active_ports = subs_stats_.total_msg_rx_ports // ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:506:65: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto msg_visitor = [&filters](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:519:80: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto svc_visitor = [&filters, local_node_id](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: error: destructor of 'RxSubsDemuxNode' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: note: make it public and virtual class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:9: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:88: error: parameter 'args_tuple' is unused [misc-unused-parameters,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^~~~~~~~~~ /*args_tuple*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:560:9: error: use '= default' to define a trivial destructor [hicpp-use-equals-default,modernize-use-equals-default,-warnings-as-errors] ~RxSubsDemuxNode() ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:10: error: method 'listenForRxSubscriptionImpl' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:63: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: error: 3 adjacent parameters of 'listenForRxSubscriptionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:63: note: the last parameter in the range is 'extent_bytes' const size_t extent_bytes) ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:38: note: 'const int' and 'const size_t' may be implicitly converted: 'const int' (as 'int') -> 'const size_t' (as 'unsigned long'), 'const size_t' (as 'unsigned long') -> 'const int' (as 'int') const size_t extent_bytes) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:658:63: error: parameter 'port_id' is unused [misc-unused-parameters,-warnings-as-errors] const CanardPortID port_id, ^~~~~~~ /*port_id*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:661:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxSubscribe(&canard_instance_, ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/media.hpp:106:16: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Metadata ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: error: destructor of 'MessageRxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: note: make it public and virtual class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:72:5: error: constructor does not initialize these fields: subscription_, on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] MessageRxSession(const Spec, TransportDelegate& delegate, const MessageRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: error: destructor of 'MessageTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: note: make it public and virtual class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:79:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:71:5: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRequestRxSession(const Spec, TransportDelegate& delegate, const RequestRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:99:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:181:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: error: destructor of 'SvcRequestTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: note: make it public and virtual class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:81:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: error: destructor of 'SvcResponseTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: note: make it public and virtual class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:158:77: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/contiguous_payload.hpp:42:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] ContiguousPayload(cetl::pmr::memory_resource& mr, const PayloadFragments payload_fragments) ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:135:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer() ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:5: error: constructor does not initialize these fields: storage_variant_, storage_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: constructor accepting a forwarding reference can hide the move constructor [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: note: move constructor declared here ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:60:5: error: constructor does not initialize these fields: allocator_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit SessionTree(cetl::pmr::memory_resource& mr) ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:145:21: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] Node* const node = allocator_.allocate(1); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/svc_rx_session_base.hpp:39:5: error: constructor does not initialize these fields: on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRxSessionBase(TransportDelegate& delegate, const Params& params) ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:63:8: error: constructor does not initialize these fields: deadline [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferTxMetadata final ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:69:8: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferRxMetadata final ^ /home/erics/libcyphal/include/libcyphal/types.hpp:51:14: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ImplementationCell(Impl&& object) ^ /home/erics/libcyphal/test/unittest/transport/can/can_gtest_helpers.hpp:11:10: error: 'canard.h' file not found [clang-diagnostic-error] #include ^~~~~~~~~~ /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp:133:27: error: variable 'subscription' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxSubscription* subscription = nullptr; ^ = nullptr /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp:206:15: error: variable 'rx_timestamp' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] TimePoint rx_timestamp; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp:283:15: error: variable 'rx_timestamp' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] TimePoint rx_timestamp; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp:339:15: error: variable 'rx_timestamp' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] TimePoint rx_timestamp; ^ = 0 89538 warnings and 1 error generated. Error while processing /home/erics/libcyphal/test/unittest/transport/can/test_can_msg_rx_session.cpp. Suppressed 89560 warnings (89396 in non-user code, 164 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 116 warnings treated as errors [4/87] Building CXX object test/unittest/CMakeFiles/test_can_svc_tx_sessions__googletest_objlib.dir/transport/can/test_can_svc_tx_sessions.cpp.o FAILED: test/unittest/CMakeFiles/test_can_svc_tx_sessions__googletest_objlib.dir/transport/can/test_can_svc_tx_sessions.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_can_svc_tx_sessions__googletest_objlib.dir/transport/can/test_can_svc_tx_sessions.cpp.o -MF test/unittest/CMakeFiles/test_can_svc_tx_sessions__googletest_objlib.dir/transport/can/test_can_svc_tx_sessions.cpp.o.d -o test/unittest/CMakeFiles/test_can_svc_tx_sessions__googletest_objlib.dir/transport/can/test_can_svc_tx_sessions.cpp.o -c /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp /home/erics/libcyphal/include/libcyphal/executor.hpp:47:20: error: constructor does not initialize these fields: exec_time [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Once ^ /home/erics/libcyphal/include/libcyphal/executor.hpp:82:16: error: constructor does not initialize these fields: exec_time, approx_now [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Arg ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:58:31: error: method 'spinOnce' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] CETL_NODISCARD SpinResult spinOnce() ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:106:72: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD Callback::Any registerCallback(Callback::Function&& function) override ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:117:77: error: parameter 'function' is unused [misc-unused-parameters,-warnings-as-errors] CallbackNode(SingleThreadedExecutor& executor, Callback::Function&& function) ^~~~~~~~ /*function*/ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:133:9: error: constructor does not initialize these fields: function_, next_exec_time_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CallbackNode(CallbackNode&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:146:14: error: method 'reschedule' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void reschedule(const Callback::Arg& arg) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:208:10: error: method 'insertCallbackNode' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void insertCallbackNode(CallbackNode& callback_node) ^ static /home/erics/libcyphal/include/libcyphal/platform/single_threaded_executor.hpp:231:81: error: parameter 'next_exec_time' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional isNowTimeToExecute(const TimePoint next_exec_time, ^~~~~~~~~~~~~~ /*next_exec_time*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:44:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardTxPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:52:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct CanardRxAccept ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:60:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPop ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:68:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaPush ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:76:16: error: constructor does not initialize these fields: failure [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct ConfigureMedia ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport.hpp:82:16: error: constructor does not initialize these fields: failure, media_index [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct MediaConfig ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: error: destructor of 'TransportImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:56:7: note: make it public and virtual class TransportImpl final : private TransportDelegate, public ICanTransport ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:72:9: error: constructor does not initialize these fields: canard_tx_queue_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] Media(const std::size_t index, IMedia& interface, const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: error: 2 adjacent parameters of 'make' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:37: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:9: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:136:9: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:135:37: error: parameter 'media' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media, ^~~~~ /*media*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:150:20: error: variable 'media_array' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] MediaArray media_array{media_count, &memory}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:5: error: constructor does not initialize these fields: media_array_, transient_error_handler_, svc_response_rx_session_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:166:101: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] TransportImpl(const Spec, cetl::pmr::memory_resource& memory, IExecutor& executor, MediaArray&& media_array) ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:60: error: 3 adjacent parameters of 'sendTransfer' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: note: the first parameter in the range is 'deadline' CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: note: the last parameter in the range is 'payload_fragments' const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:60: note: 'const int' and 'const int &' parameters accept and bind the same kind of values const CanardTransferMetadata& metadata, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:313:90: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD cetl::optional sendTransfer(const TimePoint deadline, ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:314:90: error: parameter 'metadata' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferMetadata& metadata, ^~~~~~~~ /*metadata*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:315:90: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: error: 2 adjacent parameters of 'makeRxSessionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:34: note: the last parameter in the range is 'port_id' const PortId port_id, ^~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:9: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:418:9: note: 'const int' and 'const libcyphal::transport::PortId' may be implicitly converted: 'const int' (as 'int') -> 'const libcyphal::transport::PortId' (as 'unsigned short'), 'const libcyphal::transport::PortId' (as 'unsigned short') -> 'const int' (as 'int') const PortId port_id, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:417:34: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:421:27: error: variable 'has_port' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t has_port = ::canardRxGetSubscription(&canardInstance(), transfer_kind, port_id, nullptr); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:485:71: error: parameter 'failure' is unused [misc-unused-parameters,-warnings-as-errors] cetl::optional tryHandleTransientFailure(AnyFailure&& failure, Args&&... args) ^~~~~~~ /*failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:497:76: error: parameter 'media_failure' is unused [misc-unused-parameters,-warnings-as-errors] void tryHandleTransientMediaFailure(const Media& media, MediaFailure&& media_failure) ^~~~~~~~~~~~~ /*media_failure*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:506:36: error: variable 'failure' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] cetl::optional failure = optAnyFailureFromCanard(result); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:515:73: error: parameter 'media_array' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD static bool makeMediaArray(MediaArray& media_array, ^~~~~~~~~~~ /*media_array*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: error: 3 adjacent parameters of 'makeMediaArray' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const std::size_t media_count, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:73: note: the first parameter in the range is 'media_count' const std::size_t media_count, ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:518:73: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:516:47: note: const std::size_t media_count, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:47: note: 'const std::size_t' and 'const int' may be implicitly converted: 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int'), 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long') const cetl::span media_interfaces, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:517:73: error: parameter 'media_interfaces' is unused [misc-unused-parameters,-warnings-as-errors] const cetl::span media_interfaces, ^~~~~~~~~~~~~~~~ /*media_interfaces*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:51: error: parameter 'canard_tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:554:90: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] static void flushCanardTxQueue(CanardTxQueue& canard_tx_queue, const CanardInstance& canard_instance) ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:558:38: error: variable 'item' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTxQueueItem* const item = ::canardTxPop(&canard_tx_queue, maybe_item); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:563:10: error: method 'receiveNextFrame' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void receiveNextFrame(const Media& media) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:565:48: error: variable 'payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::array payload{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:567:33: error: variable 'pop_result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] IMedia::PopResult::Type pop_result = media.interface().pop(payload); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:583:27: error: variable 'canard_frame' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardFrame canard_frame{pop_meta.can_id, {pop_meta.payload_size, payload.data()}}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:585:31: error: variable 'out_transfer' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxTransfer out_transfer{}; ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:586:31: error: variable 'out_subscription' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardRxSubscription* out_subscription{}; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:588:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxAccept(&canardInstance(), ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:603:25: error: variable 'session_delegate' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] auto* const session_delegate = ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:74: error: parameter 'deadline' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~~~~ /*deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:617:104: error: parameter 'frame' is unused [misc-unused-parameters,-warnings-as-errors] std::int8_t handleMediaTxFrame(Media& media, const CanardMicrosecond deadline, CanardMutableFrame& frame) ^~~~~ /*frame*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:681:9: error: this loop is infinite; none of its condition variables (result) are updated in the loop body [bugprone-infinite-loop,-warnings-as-errors] while (result < 0) ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:60: error: 2 adjacent parameters of 'peekFirstValidTxItem' of similar type ('int &') are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: note: the first parameter in the range is 'canard_tx' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: note: the last parameter in the range is 'out_deadline' CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:75: error: parameter 'canard_tx' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~ /*canard_tx*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:711:97: error: parameter 'out_deadline' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD CanardTxQueueItem* peekFirstValidTxItem(CanardTxQueue& canard_tx, TimePoint& out_deadline) const ^~~~~~~~~~~~ /*out_deadline*/ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:713:25: error: variable 'now' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const TimePoint now = executor_.now(); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:744:10: error: method 'configureMediaFilters' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void configureMediaFilters() ^ static /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: error: 2 adjacent parameters of 'makeTransport' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const cetl::span media, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:101: note: the first parameter in the range is 'media' const cetl::span media, ^~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:101: note: the last parameter in the range is 'tx_capacity' const std::size_t tx_capacity) ^~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:801:73: note: const cetl::span media, ^ /home/erics/libcyphal/include/libcyphal/transport/can/can_transport_impl.hpp:802:73: note: 'const int' and 'const std::size_t' may be implicitly converted: 'const int' (as 'int') -> 'const std::size_t' (as 'unsigned long'), 'const std::size_t' (as 'unsigned long') -> 'const int' (as 'int') const std::size_t tx_capacity) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: error: destructor of 'CanardMemory' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: note: make it public and virtual class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:5: error: constructor does not initialize these fields: allocated_size_, buffer_, payload_size_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:76: error: parameter 'payload' is unused [misc-unused-parameters,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^~~~~~~ /*payload*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:174:64: error: parameter 'root' is unused [misc-unused-parameters,-warnings-as-errors] static std::size_t visitCounting(CanardTreeNode* const root, const Visitor& visitor) ^~~~ /*root*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:177:35: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* node = root; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:178:35: error: variable 'prev' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardTreeNode* prev = nullptr; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:182:33: error: variable 'next' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* next = node->up; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:312:10: error: method 'retainRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void retainRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:330:10: error: method 'releaseRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void releaseRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:10: error: method 'cancelRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:34: error: 2 adjacent parameters of 'cancelRxSubscriptionFor' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: note: the first parameter in the range is 'subscription' void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: note: the last parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:34: note: 'const int &' and 'const int' parameters accept and bind the same kind of values const CanardTransferKind transfer_kind) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:344:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxUnsubscribe(&canard_instance_, transfer_kind, subscription.port_id); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:392:67: error: parameter 'tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void popAndFreeCanardTxQueueItem(CanardTxQueue& tx_queue, ^~~~~~~~ /*tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:393:67: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] const CanardInstance& canard_instance, ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:394:67: error: parameter 'tx_item' is unused [misc-unused-parameters,-warnings-as-errors] CanardTxQueueItem* tx_item, ^~~~~~~ /*tx_item*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:436:5: error: constructor does not initialize these fields: canard_instance_, rx_subs_demux_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit TransportDelegate(cetl::pmr::memory_resource& memory) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:25: error: method 'fillMediaFiltersArray' can be made const [readability-make-member-function-const,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^ const /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:84: error: parameter 'filters' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^~~~~~~ /*filters*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:471:27: error: variable 'total_active_ports' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::size_t total_active_ports = subs_stats_.total_msg_rx_ports // ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:506:65: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto msg_visitor = [&filters](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:519:80: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto svc_visitor = [&filters, local_node_id](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: error: destructor of 'RxSubsDemuxNode' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: note: make it public and virtual class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:9: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:88: error: parameter 'args_tuple' is unused [misc-unused-parameters,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^~~~~~~~~~ /*args_tuple*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:560:9: error: use '= default' to define a trivial destructor [hicpp-use-equals-default,modernize-use-equals-default,-warnings-as-errors] ~RxSubsDemuxNode() ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:10: error: method 'listenForRxSubscriptionImpl' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:63: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: error: 3 adjacent parameters of 'listenForRxSubscriptionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:63: note: the last parameter in the range is 'extent_bytes' const size_t extent_bytes) ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:38: note: 'const int' and 'const size_t' may be implicitly converted: 'const int' (as 'int') -> 'const size_t' (as 'unsigned long'), 'const size_t' (as 'unsigned long') -> 'const int' (as 'int') const size_t extent_bytes) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:658:63: error: parameter 'port_id' is unused [misc-unused-parameters,-warnings-as-errors] const CanardPortID port_id, ^~~~~~~ /*port_id*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:661:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxSubscribe(&canard_instance_, ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/media.hpp:106:16: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct Metadata ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: error: destructor of 'MessageRxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:41:7: note: make it public and virtual class MessageRxSession final : private IRxSessionDelegate, public IMessageRxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_rx_session.hpp:72:5: error: constructor does not initialize these fields: subscription_, on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] MessageRxSession(const Spec, TransportDelegate& delegate, const MessageRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: error: destructor of 'MessageTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:33:7: note: make it public and virtual class MessageTxSession final : public IMessageTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/msg_tx_session.hpp:79:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:71:5: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRequestRxSession(const Spec, TransportDelegate& delegate, const RequestRxParams& params) ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:99:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_rx_sessions.hpp:181:10: error: method 'setTransferIdTimeout' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void setTransferIdTimeout(const Duration timeout) override ^ static /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: error: destructor of 'SvcRequestTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:35:7: note: make it public and virtual class SvcRequestTxSession final : public IRequestTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:81:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: error: destructor of 'SvcResponseTxSession' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:112:7: note: make it public and virtual class SvcResponseTxSession final : public IResponseTxSession ^ /home/erics/libcyphal/include/libcyphal/transport/can/svc_tx_sessions.hpp:158:77: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] const PayloadFragments payload_fragments) override ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/contiguous_payload.hpp:42:78: error: parameter 'payload_fragments' is unused [misc-unused-parameters,-warnings-as-errors] ContiguousPayload(cetl::pmr::memory_resource& mr, const PayloadFragments payload_fragments) ^~~~~~~~~~~~~~~~~ /*payload_fragments*/ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:135:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer() ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: error: constructor does not initialize these fields: storage_variant_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:5: error: constructor does not initialize these fields: storage_variant_, storage_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: constructor accepting a forwarding reference can hide the move constructor [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:150:5: note: move constructor declared here ScatteredBuffer(ScatteredBuffer&& other) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:60:5: error: constructor does not initialize these fields: allocator_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit SessionTree(cetl::pmr::memory_resource& mr) ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:145:21: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] Node* const node = allocator_.allocate(1); ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/svc_rx_session_base.hpp:39:5: error: constructor does not initialize these fields: on_receive_cb_fn_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] SvcRxSessionBase(TransportDelegate& delegate, const Params& params) ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:63:8: error: constructor does not initialize these fields: deadline [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferTxMetadata final ^ /home/erics/libcyphal/include/libcyphal/transport/types.hpp:69:8: error: constructor does not initialize these fields: timestamp [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] struct TransferRxMetadata final ^ /home/erics/libcyphal/include/libcyphal/types.hpp:51:14: error: constructor accepting a forwarding reference can hide the copy and move constructors [bugprone-forwarding-reference-overload,-warnings-as-errors] explicit ImplementationCell(Impl&& object) ^ /home/erics/libcyphal/test/unittest/transport/can/can_gtest_helpers.hpp:11:10: error: 'canard.h' file not found [clang-diagnostic-error] #include ^~~~~~~~~~ /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp:180:28: error: variable 'empty_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const PayloadFragments empty_payload{}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp:222:28: error: variable 'empty_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const PayloadFragments empty_payload{}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp:316:32: error: variable 'empty_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] constexpr PayloadFragments empty_payload{}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp:360:28: error: variable 'empty_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const PayloadFragments empty_payload{}; ^ = 0 89003 warnings and 1 error generated. Error while processing /home/erics/libcyphal/test/unittest/transport/can/test_can_svc_tx_sessions.cpp. Suppressed 89032 warnings (88861 in non-user code, 171 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 116 warnings treated as errors [5/87] Building CXX object test/unittest/CMakeFiles/test_can_delegate__googletest_objlib.dir/transport/can/test_can_delegate.cpp.o FAILED: test/unittest/CMakeFiles/test_can_delegate__googletest_objlib.dir/transport/can/test_can_delegate.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_can_delegate__googletest_objlib.dir/transport/can/test_can_delegate.cpp.o -MF test/unittest/CMakeFiles/test_can_delegate__googletest_objlib.dir/transport/can/test_can_delegate.cpp.o.d -o test/unittest/CMakeFiles/test_can_delegate__googletest_objlib.dir/transport/can/test_can_delegate.cpp.o -c /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: error: destructor of 'CanardMemory' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:45:7: note: make it public and virtual class CanardMemory final : public ScatteredBuffer::IStorage ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:5: error: constructor does not initialize these fields: allocated_size_, buffer_, payload_size_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:49:76: error: parameter 'payload' is unused [misc-unused-parameters,-warnings-as-errors] CanardMemory(cetl::pmr::memory_resource& memory, CanardMutablePayload& payload) ^~~~~~~ /*payload*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:174:64: error: parameter 'root' is unused [misc-unused-parameters,-warnings-as-errors] static std::size_t visitCounting(CanardTreeNode* const root, const Visitor& visitor) ^~~~ /*root*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:177:35: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* node = root; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:178:35: error: variable 'prev' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const CanardTreeNode* prev = nullptr; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:182:33: error: variable 'next' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardTreeNode* next = node->up; ^ = nullptr /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:312:10: error: method 'retainRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void retainRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:330:10: error: method 'releaseRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void releaseRxSubscriptionFor(const ResponseRxParams& params) ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:10: error: method 'cancelRxSubscriptionFor' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:34: error: 2 adjacent parameters of 'cancelRxSubscriptionFor' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: note: the first parameter in the range is 'subscription' void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: note: the last parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:34: note: 'const int &' and 'const int' parameters accept and bind the same kind of values const CanardTransferKind transfer_kind) noexcept ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:341:62: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void cancelRxSubscriptionFor(const CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:342:62: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind) noexcept ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:344:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxUnsubscribe(&canard_instance_, transfer_kind, subscription.port_id); ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:392:67: error: parameter 'tx_queue' is unused [misc-unused-parameters,-warnings-as-errors] static void popAndFreeCanardTxQueueItem(CanardTxQueue& tx_queue, ^~~~~~~~ /*tx_queue*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:393:67: error: parameter 'canard_instance' is unused [misc-unused-parameters,-warnings-as-errors] const CanardInstance& canard_instance, ^~~~~~~~~~~~~~~ /*canard_instance*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:394:67: error: parameter 'tx_item' is unused [misc-unused-parameters,-warnings-as-errors] CanardTxQueueItem* tx_item, ^~~~~~~ /*tx_item*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:436:5: error: constructor does not initialize these fields: canard_instance_, rx_subs_demux_nodes_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit TransportDelegate(cetl::pmr::memory_resource& memory) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:25: error: method 'fillMediaFiltersArray' can be made const [readability-make-member-function-const,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^ const /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:461:84: error: parameter 'filters' is unused [misc-unused-parameters,-warnings-as-errors] CETL_NODISCARD bool fillMediaFiltersArray(libcyphal::detail::VarArray& filters) ^~~~~~~ /*filters*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:471:27: error: variable 'total_active_ports' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::size_t total_active_ports = subs_stats_.total_msg_rx_ports // ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:506:65: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto msg_visitor = [&filters](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:519:80: error: parameter 'rx_subscription' is unused [misc-unused-parameters,-warnings-as-errors] const auto svc_visitor = [&filters, local_node_id](RxSubscription& rx_subscription) { ^~~~~~~~~~~~~~~ /*rx_subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: error: destructor of 'RxSubsDemuxNode' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:541:11: note: make it public and virtual class RxSubsDemuxNode final : public SessionTree::NodeBase, public IRxSessionDelegate ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:9: error: constructor does not initialize these fields: subscription_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:544:88: error: parameter 'args_tuple' is unused [misc-unused-parameters,-warnings-as-errors] RxSubsDemuxNode(const ResponseRxParams& params, std::tuple args_tuple) ^~~~~~~~~~ /*args_tuple*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:560:9: error: use '= default' to define a trivial destructor [hicpp-use-equals-default,modernize-use-equals-default,-warnings-as-errors] ~RxSubsDemuxNode() ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:10: error: method 'listenForRxSubscriptionImpl' can be made static [readability-convert-member-functions-to-static,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^ static /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:656:63: error: parameter 'subscription' is unused [misc-unused-parameters,-warnings-as-errors] void listenForRxSubscriptionImpl(CanardRxSubscription& subscription, ^~~~~~~~~~~~ /*subscription*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: error: 3 adjacent parameters of 'listenForRxSubscriptionImpl' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: note: the first parameter in the range is 'transfer_kind' const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:63: note: the last parameter in the range is 'extent_bytes' const size_t extent_bytes) ^~~~~~~~~~~~ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:38: note: const CanardTransferKind transfer_kind, ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:659:38: note: 'const int' and 'const size_t' may be implicitly converted: 'const int' (as 'int') -> 'const size_t' (as 'unsigned long'), 'const size_t' (as 'unsigned long') -> 'const int' (as 'int') const size_t extent_bytes) ^ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:657:63: error: parameter 'transfer_kind' is unused [misc-unused-parameters,-warnings-as-errors] const CanardTransferKind transfer_kind, ^~~~~~~~~~~~~ /*transfer_kind*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:658:63: error: parameter 'port_id' is unused [misc-unused-parameters,-warnings-as-errors] const CanardPortID port_id, ^~~~~~~ /*port_id*/ /home/erics/libcyphal/include/libcyphal/transport/can/delegate.hpp:661:27: error: variable 'result' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] const std::int8_t result = ::canardRxSubscribe(&canard_instance_, ^ = 0 /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:60:5: error: constructor does not initialize these fields: allocator_ [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit SessionTree(cetl::pmr::memory_resource& mr) ^ /home/erics/libcyphal/include/libcyphal/transport/session_tree.hpp:145:21: error: variable 'node' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] Node* const node = allocator_.allocate(1); ^ = nullptr /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:12:10: error: 'canard.h' file not found [clang-diagnostic-error] #include ^~~~~~~~~~ /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:64:9: error: constructor does not initialize these fields: gmock03_sendTransfer_76, gmock01_onSessionEvent_78, gmock01_tryFindRxSessionDelegateFor_83 [cppcoreguidelines-pro-type-member-init,hicpp-member-init,-warnings-as-errors] explicit TransportDelegateImpl(cetl::pmr::memory_resource& memory) ^ /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:113:26: error: variable 'canard_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardMutablePayload canard_payload{payload_size, payload, allocated_size}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:170:26: error: variable 'canard_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardMutablePayload canard_payload{payload_size, payload, payload_size}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:208:30: error: variable 'canard_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardMutablePayload canard_payload{payload_size, payload, payload_size}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:223:30: error: variable 'canard_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardMutablePayload canard_payload{payload_size, payload, payload_size}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:232:30: error: variable 'canard_payload' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] CanardMutablePayload canard_payload{0, nullptr, 0}; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:269:37: error: the parameter '_name' 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] explicit MyNode(std::string _name) ^ const & /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:301:34: error: variable 'names' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::vector names; ^ = 0 /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp:307:34: error: variable 'names' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors] std::vector names; ^ = 0 89746 warnings and 1 error generated. Error while processing /home/erics/libcyphal/test/unittest/transport/can/test_can_delegate.cpp. Suppressed 89999 warnings (89696 in non-user code, 303 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 44 warnings treated as errors [6/87] Building CXX object test/unittest/CMakeFiles/test_register__googletest_objlib.dir/application/registry/test_register.cpp.o FAILED: test/unittest/CMakeFiles/test_register__googletest_objlib.dir/application/registry/test_register.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/application/registry/test_register.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_register__googletest_objlib.dir/application/registry/test_register.cpp.o -MF test/unittest/CMakeFiles/test_register__googletest_objlib.dir/application/registry/test_register.cpp.o.d -o test/unittest/CMakeFiles/test_register__googletest_objlib.dir/application/registry/test_register.cpp.o -c /home/erics/libcyphal/test/unittest/application/registry/test_register.cpp /home/erics/libcyphal/include/libcyphal/application/registry/register.hpp:87:12: error: an exception may be thrown in function 'ValueAndFlags' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] struct ValueAndFlags final ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: error: destructor of 'RegisterImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: error: destructor of 'RegisterImpl>, std::reference_wrapper>>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: error: destructor of 'RegisterImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: error: destructor of 'RegisterImpl>, void>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ 92870 warnings generated. Suppressed 93152 warnings (92865 in non-user code, 287 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings treated as errors [7/87] Building CXX object test/unittest/CMakeFiles/test_publisher_custom_config__googletest_objlib.dir/presentation/test_publisher_custom_config.cpp.o FAILED: test/unittest/CMakeFiles/test_publisher_custom_config__googletest_objlib.dir/presentation/test_publisher_custom_config.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/presentation/test_publisher_custom_config.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_publisher_custom_config__googletest_objlib.dir/presentation/test_publisher_custom_config.cpp.o -MF test/unittest/CMakeFiles/test_publisher_custom_config__googletest_objlib.dir/presentation/test_publisher_custom_config.cpp.o.d -o test/unittest/CMakeFiles/test_publisher_custom_config__googletest_objlib.dir/presentation/test_publisher_custom_config.cpp.o -c /home/erics/libcyphal/test/unittest/presentation/test_publisher_custom_config.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ 95932 warnings generated. Suppressed 96570 warnings (95929 in non-user code, 641 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 [8/87] Building CXX object test/unittest/CMakeFiles/test_get_info_provider__googletest_objlib.dir/application/node/test_get_info_provider.cpp.o FAILED: test/unittest/CMakeFiles/test_get_info_provider__googletest_objlib.dir/application/node/test_get_info_provider.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/application/node/test_get_info_provider.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_get_info_provider__googletest_objlib.dir/application/node/test_get_info_provider.cpp.o -MF test/unittest/CMakeFiles/test_get_info_provider__googletest_objlib.dir/application/node/test_get_info_provider.cpp.o.d -o test/unittest/CMakeFiles/test_get_info_provider__googletest_objlib.dir/application/node/test_get_info_provider.cpp.o -c /home/erics/libcyphal/test/unittest/application/node/test_get_info_provider.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ 98433 warnings generated. Suppressed 99204 warnings (98429 in non-user code, 775 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 [9/87] Building CXX object test/unittest/CMakeFiles/test_registry__googletest_objlib.dir/application/registry/test_registry.cpp.o FAILED: test/unittest/CMakeFiles/test_registry__googletest_objlib.dir/application/registry/test_registry.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_registry__googletest_objlib.dir/application/registry/test_registry.cpp.o -MF test/unittest/CMakeFiles/test_registry__googletest_objlib.dir/application/registry/test_registry.cpp.o.d -o test/unittest/CMakeFiles/test_registry__googletest_objlib.dir/application/registry/test_registry.cpp.o -c /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp /home/erics/libcyphal/include/libcyphal/application/registry/register.hpp:87:12: error: an exception may be thrown in function 'ValueAndFlags' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] struct ValueAndFlags final ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: error: destructor of 'RegisterImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: error: destructor of 'RegisterImpl<(lambda at /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp:193:9), (lambda at /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp:194:9)>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: error: destructor of 'RegisterImpl<(lambda at /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp:224:9), (lambda at /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp:225:9)>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: error: destructor of 'RegisterImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:86:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: error: destructor of 'RegisterImpl<(lambda at /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp:246:41), void>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: error: destructor of 'RegisterImpl<(lambda at /home/erics/libcyphal/test/unittest/application/registry/test_registry.cpp:262:44), void>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: error: destructor of 'RegisterImpl' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/register_impl.hpp:147:7: note: make it public and virtual class RegisterImpl final : public RegisterBase ^ /home/erics/libcyphal/include/libcyphal/application/registry/registry_impl.hpp:33:7: error: destructor of 'Registry' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Registry final : public IIntrospectableRegistry ^ /home/erics/libcyphal/include/libcyphal/application/registry/registry_impl.hpp:33:7: note: make it public and virtual class Registry final : public IIntrospectableRegistry ^ 95697 warnings generated. Suppressed 96087 warnings (95688 in non-user code, 399 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings treated as errors [10/87] Building CXX object test/unittest/CMakeFiles/test_heartbeat_producer__googletest_objlib.dir/application/node/test_heartbeat_producer.cpp.o FAILED: test/unittest/CMakeFiles/test_heartbeat_producer__googletest_objlib.dir/application/node/test_heartbeat_producer.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/application/node/test_heartbeat_producer.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_heartbeat_producer__googletest_objlib.dir/application/node/test_heartbeat_producer.cpp.o -MF test/unittest/CMakeFiles/test_heartbeat_producer__googletest_objlib.dir/application/node/test_heartbeat_producer.cpp.o.d -o test/unittest/CMakeFiles/test_heartbeat_producer__googletest_objlib.dir/application/node/test_heartbeat_producer.cpp.o -c /home/erics/libcyphal/test/unittest/application/node/test_heartbeat_producer.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ 96228 warnings generated. Suppressed 96881 warnings (96225 in non-user code, 656 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 [11/87] Building CXX object test/unittest/CMakeFiles/test_server__googletest_objlib.dir/presentation/test_server.cpp.o FAILED: test/unittest/CMakeFiles/test_server__googletest_objlib.dir/presentation/test_server.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/presentation/test_server.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_server__googletest_objlib.dir/presentation/test_server.cpp.o -MF test/unittest/CMakeFiles/test_server__googletest_objlib.dir/presentation/test_server.cpp.o.d -o test/unittest/CMakeFiles/test_server__googletest_objlib.dir/presentation/test_server.cpp.o -c /home/erics/libcyphal/test/unittest/presentation/test_server.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: an exception may be thrown in function 'ScatteredBuffer' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/test/unittest/presentation/test_server.cpp:272:24: error: C-style casts are discouraged; use static_cast [google-readability-casting,-warnings-as-errors] *dst = cetl::byte(255); ^~~~~~~~~~ static_cast 99183 warnings generated. Suppressed 100392 warnings (99174 in non-user code, 1218 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 7 warnings treated as errors [12/87] Building CXX object test/unittest/CMakeFiles/test_node__googletest_objlib.dir/application/test_node.cpp.o FAILED: test/unittest/CMakeFiles/test_node__googletest_objlib.dir/application/test_node.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/application/test_node.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_node__googletest_objlib.dir/application/test_node.cpp.o -MF test/unittest/CMakeFiles/test_node__googletest_objlib.dir/application/test_node.cpp.o.d -o test/unittest/CMakeFiles/test_node__googletest_objlib.dir/application/test_node.cpp.o -c /home/erics/libcyphal/test/unittest/application/test_node.cpp /home/erics/libcyphal/include/libcyphal/application/registry/register.hpp:87:12: error: an exception may be thrown in function 'ValueAndFlags' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] struct ValueAndFlags final ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ 100745 warnings generated. Suppressed 101500 warnings (100738 in non-user code, 762 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 7 warnings treated as errors [13/87] Building CXX object test/unittest/CMakeFiles/test_publisher__googletest_objlib.dir/presentation/test_publisher.cpp.o FAILED: test/unittest/CMakeFiles/test_publisher__googletest_objlib.dir/presentation/test_publisher.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/presentation/test_publisher.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_publisher__googletest_objlib.dir/presentation/test_publisher.cpp.o -MF test/unittest/CMakeFiles/test_publisher__googletest_objlib.dir/presentation/test_publisher.cpp.o.d -o test/unittest/CMakeFiles/test_publisher__googletest_objlib.dir/presentation/test_publisher.cpp.o -c /home/erics/libcyphal/test/unittest/presentation/test_publisher.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ 98659 warnings generated. Suppressed 99334 warnings (98656 in non-user code, 678 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 [14/87] Building CXX object test/unittest/CMakeFiles/test_registry_provider__googletest_objlib.dir/application/node/test_registry_provider.cpp.o FAILED: test/unittest/CMakeFiles/test_registry_provider__googletest_objlib.dir/application/node/test_registry_provider.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/application/node/test_registry_provider.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_registry_provider__googletest_objlib.dir/application/node/test_registry_provider.cpp.o -MF test/unittest/CMakeFiles/test_registry_provider__googletest_objlib.dir/application/node/test_registry_provider.cpp.o.d -o test/unittest/CMakeFiles/test_registry_provider__googletest_objlib.dir/application/node/test_registry_provider.cpp.o -c /home/erics/libcyphal/test/unittest/application/node/test_registry_provider.cpp /home/erics/libcyphal/include/libcyphal/application/registry/register.hpp:87:12: error: an exception may be thrown in function 'ValueAndFlags' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] struct ValueAndFlags final ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: an exception may be thrown in function 'ScatteredBuffer' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ 100724 warnings generated. Suppressed 101587 warnings (100717 in non-user code, 870 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 7 warnings treated as errors [15/87] Building CXX object test/unittest/CMakeFiles/test_subscriber__googletest_objlib.dir/presentation/test_subscriber.cpp.o FAILED: test/unittest/CMakeFiles/test_subscriber__googletest_objlib.dir/presentation/test_subscriber.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/presentation/test_subscriber.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_subscriber__googletest_objlib.dir/presentation/test_subscriber.cpp.o -MF test/unittest/CMakeFiles/test_subscriber__googletest_objlib.dir/presentation/test_subscriber.cpp.o.d -o test/unittest/CMakeFiles/test_subscriber__googletest_objlib.dir/presentation/test_subscriber.cpp.o -c /home/erics/libcyphal/test/unittest/presentation/test_subscriber.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: an exception may be thrown in function 'ScatteredBuffer' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ 99255 warnings generated. Suppressed 100310 warnings (99251 in non-user code, 1059 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 [16/87] Building CXX object test/unittest/CMakeFiles/test_cavl__googletest_objlib.dir/common/cavl/test_cavl.cpp.o FAILED: test/unittest/CMakeFiles/test_cavl__googletest_objlib.dir/common/cavl/test_cavl.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_cavl__googletest_objlib.dir/common/cavl/test_cavl.cpp.o -MF test/unittest/CMakeFiles/test_cavl__googletest_objlib.dir/common/cavl/test_cavl.cpp.o.d -o test/unittest/CMakeFiles/test_cavl__googletest_objlib.dir/common/cavl/test_cavl.cpp.o -c /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp:80:14: error: ‘unused’ attribute ignored [-Werror=attributes] 80 | UNUSED E up; | ^~ /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp:81:14: error: ‘unused’ attribute ignored [-Werror=attributes] 81 | UNUSED E lr; | ^~ /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp:82:14: error: ‘unused’ attribute ignored [-Werror=attributes] 82 | UNUSED E bf; | ^~ /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp:1024:14: error: ‘unused’ attribute ignored [-Werror=attributes] 1024 | UNUSED E up; | ^~ /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp:1025:14: error: ‘unused’ attribute ignored [-Werror=attributes] 1025 | UNUSED E lr; | ^~ /home/erics/libcyphal/test/unittest/common/cavl/test_cavl.cpp:1026:14: error: ‘unused’ attribute ignored [-Werror=attributes] 1026 | UNUSED E bf; | ^~ cc1plus: all warnings being treated as errors [17/87] Building CXX object test/unittest/CMakeFiles/test_presentation__googletest_objlib.dir/presentation/test_presentation.cpp.o FAILED: test/unittest/CMakeFiles/test_presentation__googletest_objlib.dir/presentation/test_presentation.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/presentation/test_presentation.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_presentation__googletest_objlib.dir/presentation/test_presentation.cpp.o -MF test/unittest/CMakeFiles/test_presentation__googletest_objlib.dir/presentation/test_presentation.cpp.o.d -o test/unittest/CMakeFiles/test_presentation__googletest_objlib.dir/presentation/test_presentation.cpp.o -c /home/erics/libcyphal/test/unittest/presentation/test_presentation.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server<(anonymous namespace)::Custom::Service::Request, (anonymous namespace)::Custom::Service::Response>' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: error: destructor of 'Server' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:166:7: note: make it public and virtual class Server final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ 102804 warnings generated. Suppressed 103540 warnings (102799 in non-user code, 741 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings treated as errors [18/87] Building CXX object test/unittest/CMakeFiles/test_client__googletest_objlib.dir/presentation/test_client.cpp.o FAILED: test/unittest/CMakeFiles/test_client__googletest_objlib.dir/presentation/test_client.cpp.o /usr/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/home/erics/libcyphal/test/unittest/presentation/test_client.cpp -- /usr/bin/g++ -DCAVL_NO_ASSERT=1 -DLIBCYPHAL_VERSION=\"0.0.0\" -I/home/erics/libcyphal/test/unittest -I/home/erics/libcyphal/external/cetl/include -I/home/erics/libcyphal/include -I/home/erics/libcyphal/external/libcanard -I/home/erics/libcyphal/external/libudpard/libudpard -I/home/erics/libcyphal/build -I/home/erics/libcyphal/build/test/unittest -isystem /home/erics/libcyphal/external/googletest/googletest/include -isystem /home/erics/libcyphal/external/googletest/googletest -isystem /home/erics/libcyphal/external/googletest/googlemock/include -isystem /home/erics/libcyphal/external/googletest/googlemock -g -std=gnu++14 -pedantic -Wall -Wextra -Werror -Wfloat-equal -Wconversion -Wunused-parameter -Wunused-variable -Wunused-value -Wcast-align -Wmissing-declarations -Wmissing-field-initializers -Wdouble-promotion -Wswitch-enum -Wtype-limits -Wno-error=array-bounds -Wsign-conversion -Wsign-promo -Wold-style-cast -Wzero-as-null-pointer-constant -Wnon-virtual-dtor -Woverloaded-virtual -O0 -DDEBUG -ggdb -MD -MT test/unittest/CMakeFiles/test_client__googletest_objlib.dir/presentation/test_client.cpp.o -MF test/unittest/CMakeFiles/test_client__googletest_objlib.dir/presentation/test_client.cpp.o.d -o test/unittest/CMakeFiles/test_client__googletest_objlib.dir/presentation/test_client.cpp.o -c /home/erics/libcyphal/test/unittest/presentation/test_client.cpp /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: error: destructor of 'Presentation' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/presentation.hpp:100:7: note: make it public and virtual class Presentation final : private detail::IPresentationDelegate ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:262:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:262:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:262:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:262:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: error: destructor of 'ResponsePromise' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/response_promise.hpp:342:7: note: make it public and virtual class ResponsePromise final : public ResponsePromiseBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: error: destructor of 'RawServiceServer' is public and non-virtual [cppcoreguidelines-virtual-class-destructor,-warnings-as-errors] class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/presentation/server.hpp:284:7: note: make it public and virtual class RawServiceServer final : public detail::ServerBase ^ /home/erics/libcyphal/include/libcyphal/transport/scattered_buffer.hpp:164:14: error: an exception may be thrown in function 'ScatteredBuffer' which should not throw exceptions [bugprone-exception-escape,-warnings-as-errors] explicit ScatteredBuffer(AnyStorage&& any_storage) noexcept ^ /home/erics/libcyphal/test/unittest/presentation/test_client.cpp:523:24: error: C-style casts are discouraged; use static_cast [google-readability-casting,-warnings-as-errors] *dst = cetl::byte(255); ^~~~~~~~~~ static_cast 102092 warnings generated. Suppressed 103037 warnings (102083 in non-user code, 954 NOLINT). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 7 warnings treated as errors ninja: build stopped: subcommand failed.