QWeakPointer: mark lock() [[nodiscard]]

The lock() function, added for std::weak_ptr compatibility, sounds
like QMutex::lock(), but is, in fact, a const function. QUIP-0019 says
such functions must be marked [[nodiscard]]. For symmetry, also mark
toStrongRef() and toWeakRef() as [[nodiscard]].

Pick-to: 6.6 6.5
Change-Id: Ifb6e447d2cd96fedd9a78decdfac6bc57c1d282a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Marc Mutz 2023-06-21 15:00:43 +02:00
parent 45ffb1790c
commit 81d357ff8a
1 changed files with 3 additions and 3 deletions

View File

@ -393,7 +393,7 @@ public:
inline void clear() { QSharedPointer copy; swap(copy); }
QWeakPointer<T> toWeakRef() const;
[[nodiscard]] QWeakPointer<T> toWeakRef() const;
template <typename... Args>
static QSharedPointer create(Args && ...arguments)
@ -633,9 +633,9 @@ public:
inline void clear() { *this = QWeakPointer(); }
inline QSharedPointer<T> toStrongRef() const { return QSharedPointer<T>(*this); }
[[nodiscard]] QSharedPointer<T> toStrongRef() const { return QSharedPointer<T>(*this); }
// std::weak_ptr compatibility:
inline QSharedPointer<T> lock() const { return toStrongRef(); }
[[nodiscard]] QSharedPointer<T> lock() const { return toStrongRef(); }
template <class X>
bool operator==(const QWeakPointer<X> &o) const noexcept