C++ - clang tidy жалуется на правило X?

Этот код вызывает предупреждение в clang tidy:

Класс «Locker» определяет деструктор не по умолчанию, но не определяет конструктор копирования, оператор присваивания копии, конструктор перемещения или оператор присваивания перемещенияclang-tidy(cppcoreguidelines-special-member-functions)

Это обновленная структура, согласно комментариям:

      struct Locker
{
    std::binary_semaphore *sem = nullptr;

    // ----------------------------------
    // Methods
    // ----------------------------------
    auto try_lock(std::binary_semaphore &sem_, u32 time_in_seconds = 1) -> bool;

    auto manual_release() -> void;

    // ----------------------------------
    // Deleted
    // ----------------------------------

    Locker(Locker &) = delete;

    Locker(Locker &&) = delete;

    Locker(std::binary_semaphore &&sem_) noexcept = delete;

    Locker(std::binary_semaphore &sem_) noexcept = delete;

    Locker(std::binary_semaphore *sem_) noexcept = delete;

    Locker() noexcept = default;

    auto operator=(std::binary_semaphore &sem_) noexcept -> Locker & = delete;

    auto operator=(std::binary_semaphore &&sem_) noexcept -> Locker & = delete;

    auto operator=(std::binary_semaphore *sem_) noexcept -> Locker & = delete;

    // ----------------------------------
    // Destructor
    // ----------------------------------
    ~Locker()
    {

        manual_release();
    }
};

Мне не нужны никакие конструкторы, но мне нужен конкретный деструктор. у нас есть способ попробовать блокировку, а деструктор просто снимает блокировку, убедившись, что все в порядке.

Обратите внимание, что GCC 12.2 с

      -Wall -Wextra -pedantic -pedantic-errors -Werror -Wuninitialized -Wtrivial-auto-var-init -Wshadow -Wnormalized -Wno-error=comment

даже не мешает.

Как подавить это предупреждение?

Спасибо!

Редактировать:

Ниже приведена ссылка на Godbolt, чтобы воспроизвести ситуацию, может ли кто-нибудь исправить мой код и поделиться ссылкой здесь?Ссылка на проблему со структурой clang-tidy

0 ответов

Другие вопросы по тегам