diff options
| author | Marc Mutz <marc.mutz@qt.io> | 2024-07-18 21:25:03 +0200 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@qt.io> | 2024-07-20 22:56:49 +0200 |
| commit | 13244eef6c913bb7f27cd8fbf459f5dfe9a0ed21 (patch) | |
| tree | 0a846bd3267d3cc678d9886b86f2b99bcb13172d /src/corelib/io/qdebug.cpp | |
| parent | 6d3bd0ebeacc76178fc3c4c368e04bd642881a96 (diff) | |
Fix signature of QDebug::toString() (again)
There are zero QDebug operators that take an rvalue RHS, so there's no
need to make toString() perfectly forwarding. It just causes four¹
different versions of the identical function to be instantiated. Not
all compilers can merge the binary representations and those that try,
violate the standard (same address for different functions).
¹ {rvalue, lvalue} × {const, non-const}
Fix by taking by cref.
Amends 40976532158fc49be45bb976455f48e98f9690cf.
[ChangeLog][Potentially Source-Incompatible Changes][QtCore][QDebug]
The toString() static function no longer allows the called
operator<<() to modify the argument. No Qt-provided operator<<() does
that, and operators that do are probably buggy.
Pick-to: 6.8
Change-Id: Iac1ee9d29f93fd4840b75ffe363d354a2d19a96e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qdebug.cpp')
| -rw-r--r-- | src/corelib/io/qdebug.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/io/qdebug.cpp b/src/corelib/io/qdebug.cpp index 64b693fea51..70832c3dbcb 100644 --- a/src/corelib/io/qdebug.cpp +++ b/src/corelib/io/qdebug.cpp @@ -996,7 +996,7 @@ QDebug &QDebug::resetFormat() */ /*! - \fn template <class T> QString QDebug::toString(T &&object) + \fn template <class T> QString QDebug::toString(const T &object) \since 6.0 \include qdebug-toString.qdocinc |
