From 8156334674dc3138d7a61ff818a33d6a53cc4e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20K=C3=B6hne?= Date: Fri, 8 Sep 2023 14:26:23 +0200 Subject: [PATCH] Doc: Change deprecation of QFuture::makeReadyFuture to 6.6 The compilers will only warn about using makeValueFuture from Qt 6.10 onwards. Anyhow, for the documentation, it makes more sense to deprecate it right now, as an alternative API is available. So deprecate in documentation for Qt 6.6, but mention that the compiler warning will only be shown in Qt 6.10. While at it, also make sure the deprecation messages are proper sentences (end with a dot). Fixes: QTBUG-116898 Change-Id: Iff90441372b788f9ea42634866d97068275bf0ca Reviewed-by: Volker Hilsheimer (cherry picked from commit e11cbf206fdbc018bb475bca495c182a7a91e652) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/thread/qfuture.h | 2 +- src/corelib/thread/qfuture.qdoc | 33 ++++++++++++++----------------- src/corelib/thread/qfuture_impl.h | 4 ++-- 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/src/corelib/thread/qfuture.h b/src/corelib/thread/qfuture.h index 572c8054f9c..5939a937808 100644 --- a/src/corelib/thread/qfuture.h +++ b/src/corelib/thread/qfuture.h @@ -527,7 +527,7 @@ QFuture...>> whenAny(Futures &&... futures); static QFuture makeReadyFuture() #else template -QT_DEPRECATED_VERSION_X(6, 10, "Use makeReadyVoidFuture() instead") +QT_DEPRECATED_VERSION_X(6, 10, "Use makeReadyVoidFuture() instead.") static QFuture makeReadyFuture() #endif { diff --git a/src/corelib/thread/qfuture.qdoc b/src/corelib/thread/qfuture.qdoc index 2535d621caa..3f79fed0d9e 100644 --- a/src/corelib/thread/qfuture.qdoc +++ b/src/corelib/thread/qfuture.qdoc @@ -979,12 +979,7 @@ \since 6.1 \overload - \deprecated [6.10] Use makeReadyValueFuture() instead - - The QtFuture::makeReadyFuture() method should be avoided because it has an - inconsistent set of overloads. It will be deprecated in future Qt releases. - Use QtFuture::makeReadyVoidFuture(), QtFuture::makeReadyValueFuture() or - QtFuture::makeReadyRangeFuture() instead. + \deprecated [6.6] Use makeReadyValueFuture() instead. Creates and returns a QFuture which already has a result \a value. The returned QFuture has a type of std::decay_t, where T is not void. @@ -995,6 +990,10 @@ const int result = *f.takeResult(); // result == 42 \endcode + The method should be avoided because + it has an inconsistent set of overloads. From Qt 6.10 onwards, using it + in code will result in compiler warnings. + \sa QFuture, QtFuture::makeReadyVoidFuture(), QtFuture::makeReadyValueFuture(), QtFuture::makeReadyRangeFuture(), QtFuture::makeExceptionalFuture() @@ -1004,12 +1003,7 @@ \since 6.1 \overload - \deprecated [6.10] Use makeReadyVoidFuture() instead - - The QtFuture::makeReadyFuture() method should be avoided because it has an - inconsistent set of overloads. It will be deprecated in future Qt releases. - Use QtFuture::makeReadyVoidFuture(), QtFuture::makeReadyValueFuture() or - QtFuture::makeReadyRangeFuture() instead. + \deprecated [6.6] Use makeReadyVoidFuture() instead. Creates and returns a void QFuture. Such QFuture can't store any result. One can use it to query the state of the computation. @@ -1023,6 +1017,10 @@ const bool finished = f.isFinished(); // finished == true \endcode + The method should be avoided because + it has an inconsistent set of overloads. From Qt 6.10 onwards, using it + in code will result in compiler warnings. + \sa QFuture, QFuture::isStarted(), QFuture::isRunning(), QFuture::isFinished(), QtFuture::makeReadyVoidFuture(), QtFuture::makeReadyValueFuture(), QtFuture::makeReadyRangeFuture(), @@ -1033,12 +1031,7 @@ \since 6.1 \overload - \deprecated [6.10] Use makeReadyRangeFuture() instead - - The QtFuture::makeReadyFuture() method should be avoided because it has an - inconsistent set of overloads. It will be deprecated in future Qt releases. - Use QtFuture::makeReadyVoidFuture(), QtFuture::makeReadyValueFuture() or - QtFuture::makeReadyRangeFuture() instead. + \deprecated [6.6] Use makeReadyRangeFuture() instead. Creates and returns a QFuture which already has multiple results set from \a values. @@ -1050,6 +1043,10 @@ const auto results = f.results(); // results == { 1, 2, 3 } \endcode + The method should be avoided because + it has an inconsistent set of overloads. From Qt 6.10 onwards, using it + in code will result in compiler warnings. + \sa QFuture, QtFuture::makeReadyVoidFuture(), QtFuture::makeReadyValueFuture(), QtFuture::makeReadyRangeFuture(), QtFuture::makeExceptionalFuture() diff --git a/src/corelib/thread/qfuture_impl.h b/src/corelib/thread/qfuture_impl.h index 460637fcf6f..1476274a528 100644 --- a/src/corelib/thread/qfuture_impl.h +++ b/src/corelib/thread/qfuture_impl.h @@ -1010,7 +1010,7 @@ Q_CORE_EXPORT QFuture makeReadyVoidFuture(); // implemented in qfutureinte #if QT_DEPRECATED_SINCE(6, 10) template> -QT_DEPRECATED_VERSION_X(6, 10, "Use makeReadyValueFuture() instead") +QT_DEPRECATED_VERSION_X(6, 10, "Use makeReadyValueFuture() instead.") static QFuture> makeReadyFuture(T &&value) { return makeReadyValueFuture(std::forward(value)); @@ -1020,7 +1020,7 @@ static QFuture> makeReadyFuture(T &&value) // uses makeReadyVoidFuture() and required QFuture to be defined. template -QT_DEPRECATED_VERSION_X(6, 10, "Use makeReadyRangeFuture() instead") +QT_DEPRECATED_VERSION_X(6, 10, "Use makeReadyRangeFuture() instead.") static QFuture makeReadyFuture(const QList &values) { return makeReadyRangeFuture(values);