From 15b9a1e6d54546297ea520a1cf572ce9007bb689 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 13 Jun 2023 09:34:12 +0200 Subject: [PATCH] Div. private RAII/smart ptr classes: mark ctors [[nodiscard]] The following private APIs are either RAII or smart pointer classes: - QAutoPointer - QBoolBlocker - QFdContainer QUIP-0019 says to mark RAII and smart pointer class ctors [[nodiscard]], so do that. Task-number: QTBUG-104164 Change-Id: Ibc77e6603fadf18ea28428a49635f46a5680b777 Reviewed-by: Ivan Solovev (cherry picked from commit 25e20d5537b2a7682c34a9837076530ad220b3b5) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/kernel/qobject_p.h | 4 +++- .../input/evdevkeyboard/qevdevkeyboardhandler_p.h | 2 +- src/widgets/dialogs/qdialog_p.h | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h index 4b757b2bd93..66269b4c2ad 100644 --- a/src/corelib/kernel/qobject_p.h +++ b/src/corelib/kernel/qobject_p.h @@ -434,7 +434,9 @@ class QBoolBlocker { Q_DISABLE_COPY_MOVE(QBoolBlocker) public: - explicit inline QBoolBlocker(bool &b, bool value = true) : block(b), reset(b) { block = value; } + Q_NODISCARD_CTOR explicit QBoolBlocker(bool &b, bool value = true) + : block(b), reset(b) + { block = value; } inline ~QBoolBlocker() { block = reset; } private: diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h index ed437c00600..1d991e2ba51 100644 --- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h +++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h @@ -101,7 +101,7 @@ class QFdContainer int m_fd; Q_DISABLE_COPY_MOVE(QFdContainer); public: - explicit QFdContainer(int fd = -1) noexcept : m_fd(fd) {} + Q_NODISCARD_CTOR explicit QFdContainer(int fd = -1) noexcept : m_fd(fd) {} ~QFdContainer() { reset(); } int get() const noexcept { return m_fd; } diff --git a/src/widgets/dialogs/qdialog_p.h b/src/widgets/dialogs/qdialog_p.h index 878049557af..1d06c116fbb 100644 --- a/src/widgets/dialogs/qdialog_p.h +++ b/src/widgets/dialogs/qdialog_p.h @@ -103,7 +103,7 @@ template class QAutoPointer { QPointer o; public: - explicit QAutoPointer(T *t) noexcept : o(t) {} + Q_NODISCARD_CTOR explicit QAutoPointer(T *t) noexcept : o(t) {} ~QAutoPointer() { delete o; } T *operator->() const noexcept { return get(); }