The double-swap technique I used was flawed and broke on
self-assignment. What I had meant to use was the move-and-swap
technique. Thanks to Peppe for pointing it out.
This also fixes a compiler bug in the Green Hills compiler. It was
finding the wrong "swap" function in qSwap:
using std::swap;
swap(value1, value2);
It's supposed to find swap(QCborValue &, QCborValue &) due to argument-
dependent lookup. It's instead finding std::swap<QCborValue>, which
recurses.
Fixes: QTBUG-83390
Change-Id: Ibdc95e9af7bd456a94ecfffd1603e1bee90cd107
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
||
|---|---|---|
| .. | ||
| json | ||
| qcborstreamreader | ||
| qcborstreamwriter | ||
| qcborvalue | ||
| qcborvalue_json | ||
| qdatastream | ||
| qdatastream_core_pixmap | ||
| qtextstream | ||
| qxmlstream | ||
| cborlargedatavalidation.cpp | ||
| serialization.pro | ||