aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-06-26 10:25:00 +0200
committerMarc Mutz <marc.mutz@qt.io>2023-06-26 14:23:23 +0000
commitef9fe5d61ce7645f2195c229a7dcef3a74ecf6dd (patch)
treeea70847ce3e1983a2ca945261c7e698b2d0f4b78
parentcb55777639a73f8d963ce63d6ae06a1bf9c1e1b6 (diff)
Div. smart pointer/raii classes: mark ctors [[nodiscard]]
The following classes are smart pointers or RAII classes, whose ctors QUIP-0019 asks to mark as [[nodiscard]]: - QQmlMetaObjectPointer - QQuickDeferredPointer - QuitLockDisabler QUIP: QUIP-0019 Fixes: QTBUG-104168 Pick-to: 6.6 Change-Id: Ia362f5d0eab7376f4536aefc61c31ceb296b1cc2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/plugins/qmltooling/qmldbg_preview/qqmlpreviewhandler.cpp3
-rw-r--r--src/qml/qml/qqmlpropertycache_p.h6
-rw-r--r--src/quicktemplates/qquickdeferredpointer_p_p.h4
3 files changed, 7 insertions, 6 deletions
diff --git a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewhandler.cpp b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewhandler.cpp
index 7601c59cac..84019826e4 100644
--- a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewhandler.cpp
+++ b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewhandler.cpp
@@ -23,7 +23,8 @@ struct QuitLockDisabler
{
const bool quitLockEnabled;
- QuitLockDisabler() : quitLockEnabled(QCoreApplication::isQuitLockEnabled())
+ Q_NODISCARD_CTOR QuitLockDisabler()
+ : quitLockEnabled(QCoreApplication::isQuitLockEnabled())
{
QCoreApplication::setQuitLockEnabled(false);
}
diff --git a/src/qml/qml/qqmlpropertycache_p.h b/src/qml/qml/qqmlpropertycache_p.h
index b261d1caca..a06a1b6e39 100644
--- a/src/qml/qml/qqmlpropertycache_p.h
+++ b/src/qml/qml/qqmlpropertycache_p.h
@@ -40,9 +40,9 @@ class QQmlVMEMetaObject;
class QQmlMetaObjectPointer
{
public:
- QQmlMetaObjectPointer() = default;
+ Q_NODISCARD_CTOR QQmlMetaObjectPointer() = default;
- QQmlMetaObjectPointer(const QMetaObject *staticMetaObject)
+ Q_NODISCARD_CTOR QQmlMetaObjectPointer(const QMetaObject *staticMetaObject)
: d(quintptr(staticMetaObject))
{
Q_ASSERT((d.loadRelaxed() & Shared) == 0);
@@ -57,7 +57,7 @@ public:
private:
friend class QQmlPropertyCache;
- QQmlMetaObjectPointer(const QQmlMetaObjectPointer &other)
+ Q_NODISCARD_CTOR QQmlMetaObjectPointer(const QQmlMetaObjectPointer &other)
: d(other.d.loadRelaxed())
{
// other has to survive until this ctor is done. So d cannot disappear before.
diff --git a/src/quicktemplates/qquickdeferredpointer_p_p.h b/src/quicktemplates/qquickdeferredpointer_p_p.h
index cd5a87e508..e1fa85e2ee 100644
--- a/src/quicktemplates/qquickdeferredpointer_p_p.h
+++ b/src/quicktemplates/qquickdeferredpointer_p_p.h
@@ -113,10 +113,10 @@ class QQuickDeferredPointer : public QQuickUntypedDeferredPointer
{
Q_DISABLE_COPY_MOVE(QQuickDeferredPointer)
public:
- QQuickDeferredPointer() = default;
+ Q_NODISCARD_CTOR QQuickDeferredPointer() = default;
~QQuickDeferredPointer() = default;
- QQuickDeferredPointer(T *v) : QQuickUntypedDeferredPointer(v) {}
+ Q_NODISCARD_CTOR QQuickDeferredPointer(T *v) : QQuickUntypedDeferredPointer(v) {}
QQuickDeferredPointer<T> &operator=(T *o) {
QQuickUntypedDeferredPointer::operator=(o);
return *this;