From e11cbf206fdbc018bb475bca495c182a7a91e652 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). Pick-to: 6.6 Fixes: QTBUG-116898 Change-Id: Iff90441372b788f9ea42634866d97068275bf0ca Reviewed-by: Volker Hilsheimer --- 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 2822b96824d..9eda7669680 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 65ca22eea76..79fc6d9a017 100644 --- a/src/corelib/thread/qfuture_impl.h +++ b/src/corelib/thread/qfuture_impl.h @@ -1009,7 +1009,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)); @@ -1019,7 +1019,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);