summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-06-16 08:29:56 +0200
committerMarc Mutz <marc.mutz@qt.io>2023-06-20 07:34:09 +0200
commit21c344a221c1d7712a04d990958b211e2dd8a263 (patch)
tree1408131b9902e2e4ff3daffb43918d56c6024430 /src
parentc823bc2fdba412e867373ef60be8c48feb3c1a48 (diff)
QScoped(Array)Pointer: remove the class-level [[nodiscard]]
It was used as a work-around for constructor-level [[nodiscard]] missing in C++17, but a) compilers are free to implement [[nodiscard]] for constructors in C++17 (P1771 was not considered a normative change, just a clarification of the existing wording), and b) prevents useful code that returns such types from functions. Pick-to: 6.6 Task-number: QTBUG-104164 Change-Id: I440b418d58e86118e84689adb06d239ca598afcc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/tools/qscopedpointer.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h
index 1637bb40a5a..2f86d450501 100644
--- a/src/corelib/tools/qscopedpointer.h
+++ b/src/corelib/tools/qscopedpointer.h
@@ -67,7 +67,7 @@ typedef QScopedPointerObjectDeleteLater<QObject> QScopedPointerDeleteLater;
#endif
template <typename T, typename Cleanup = QScopedPointerDeleter<T> >
-class [[nodiscard]] QScopedPointer
+class QScopedPointer
{
public:
explicit QScopedPointer(T *p = nullptr) noexcept : d(p)
@@ -187,7 +187,7 @@ private:
};
template <typename T, typename Cleanup = QScopedPointerArrayDeleter<T> >
-class [[nodiscard]] QScopedArrayPointer : public QScopedPointer<T, Cleanup>
+class QScopedArrayPointer : public QScopedPointer<T, Cleanup>
{
template <typename Ptr>
using if_same_type = typename std::enable_if<std::is_same<typename std::remove_cv<T>::type, Ptr>::value, bool>::type;