Details
Description
Since commit 5f542f3cca13f2da58b82aee2efbaffefeee00a7 Qt container-derived classes, such as
class UIntList : public QList<uint>
now can not be streamed to/from QDBusArgument.
error: no match for 'operator>>' (operand types are 'QDBusArgument' and 'UIntList')
http://doc.qt.io/qt-5/qdbusargument.html#qDBusRegisterMetaType says:
If T isn't a type derived from one of Qt's container classes, the operator<< and operator>> streaming operators between T and QDBusArgument must be already declared.
Thus, the change seems to contradict with the documentation and breaks various projects, e.g. TelepathyQt: https://bugs.freedesktop.org/show_bug.cgi?id=95376
Attachments
For Gerrit Dashboard: QTBUG-53376 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
159216,2 | Revert "QDBusArgument: remove useless op<< overloads" | 5.7.0 | qt/qtbase | Status: MERGED | +2 | 0 |
159217,3 | QDBusArgument: deprecate relying on a streamable Base to stream a Derived | 5.7.0 | qt/qtbase | Status: MERGED | +2 | 0 |