Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
-
13
-
ac9e96875 (dev), 3cd69050f (dev), 5038e1eb6 (dev), 10b5590ce (6.6), 04ad71231 (tqtc/lts-6.5), ec67d0c94 (dev), 87361727f (dev), 0d1575828 (dev), 44df0a44b (dev), 0a5a9c134 (dev), 4be875515 (dev), 95c7f8813 (dev), 0710e9cd0 (6.7), 2d5a23928 (6.7)
-
Foundations Sprint 97, Foundations Sprint 98, Foundations Sprint 99, Foundation Sprint 100, Foundation Sprint 101, Foundations Sprint 102, Foundation Sprint 103, Foundation Sprint 104, Foundation Sprint 105, Foundation Sprint 106, Foundation Sprint 118, Foundation Sprint 119, Foundation Sprint 120, Foundation Sprint 121, Foundation Sprint 122, Foundation Sprint 123, Foundation Sprint 124, Foundation Sprint 125, Foundation Sprint 126, Foundation Sprint 127, Foundation Sprint 128, Foundation Sprint 129
Description
When QPair became std::pair in Qt 6.0, it's canonical QMetaType::typeName() changed as well. This means that all signal-slot connections, at least, incur a normalization step from QPair to std:::pair. In addition, functions taking or returning QPair now look different in the debugger than the source code. To avoid confusion, we should probably search and replace QPair with std::pair, globally. This would be SC and BC, because QPair is merely an alias these days.
Reference: https://codereview.qt-project.org/c/qt/qtbase/+/490565/comments/b5bbbd3f_e58ee305
Definition of Done: Replace all usage of QPair witht std::pair and of qMakePair with either std::make_pair or CTAD std::pair ctors or, indeed, just anonymous {}.
Attachments
Issue Links
- is required for
-
QTBUG-132242 [Initiative] Phase out bad Qt API
-
- Open
-
- resulted from
-
QTBUG-80309 Deprecate / Remove QPair
-
- Closed
-
Gerrit Reviews
For Gerrit Dashboard: QTBUG-115841 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
524678,6 | Drop the qpair.h includes from all headers | dev | qt/qtbase | Status: NEW | +2 | 0 |
524995,3 | WIP: QMetaType: map QVariantPair to std::pair, not QPair | dev | qt/qtbase | Status: NEW | -2 | 0 |
480446,5 | QFileInfoGatherer: fix narrowing conversion warnings | dev | qt/qtbase | Status: MERGED | +2 | 0 |
501575,3 | Remove redundant QPair includes | dev | qt/qtbase | Status: MERGED | +2 | 0 |
514306,2 | QFileInfoGatherer: port away from QPair | dev | qt/qtbase | Status: MERGED | +2 | 0 |
523398,2 | QFileInfoGatherer: fix narrowing conversion warnings | 6.6 | qt/qtbase | Status: MERGED | +2 | 0 |
523476,2 | QFileInfoGatherer: fix narrowing conversion warnings | tqtc/lts-6.5 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |
524667,2 | QDateTime: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524669,3 | QArrayData/Pointer: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524670,2 | QMap/QHash: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524671,5 | QMetaType: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524672,4 | Q*Animation: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524673,3 | Itemmodels: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524674,2 | QtCore platform code: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524675,3 | QCbor/QJson: s/QPair/std::pair/ | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524676,2 | Replace QPair with std::pair in the docs | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524677,3 | QVariantPair: cut the QPair middle-man | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524679,4 | Add QT_NO_QPAIR | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524680,5 | QtDBus: port away from QPair | dev | qt/qtbase | Status: MERGED | +2 | 0 |
524906,2 | Replace QPair with std::pair in the docs | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
524908,2 | QtCore platform code: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
524910,2 | QMap/QHash: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
524912,2 | QDateTime: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
524994,4 | tools: port away from QPair | dev | qt/qtbase | Status: MERGED | +2 | 0 |
525175,2 | QCbor/QJson: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525176,2 | QArrayData/Pointer: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525177,2 | QVariantPair: cut the QPair middle-man | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525186,2 | Replace QPair with std::pair in the docs | 6.6 | qt/qtbase | Status: MERGED | +2 | 0 |
525256,2 | Itemmodels: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525271,2 | Replace QPair with std::pair in the docs | tqtc/lts-6.5 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |
525515,2 | QMetaType: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525516,2 | Add QT_NO_QPAIR | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525517,2 | Q*Animation: s/QPair/std::pair/ | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525518,2 | tools: port away from QPair | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525519,2 | QtDBus: port away from QPair | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
525722,7 | Qt Designer: Refactor IconSelector | dev | qt/qttools | Status: MERGED | +2 | 0 |
525723,6 | Qt Designer: port away from QPair | dev | qt/qttools | Status: MERGED | +2 | 0 |
525806,2 | Qt Designer: port away from QPair | 6.7 | qt/qttools | Status: MERGED | +2 | 0 |
568476,4 | Replace all remaining QPair with std::pair | dev | qt/qtnetworkauth | Status: MERGED | +2 | 0 |
568561,2 | Replace all remaining QPair with std::pair | 6.8 | qt/qtnetworkauth | Status: MERGED | +2 | 0 |
583429,4 | QAccessible: eliminate use of QPair | dev | qt/qtbase | Status: MERGED | +2 | 0 |
598033,9 | Replace QPair/qMakePair with std::pair in qtbase/opengl | dev | qt/qtbase | Status: MERGED | +2 | 0 |
598114,13 | Replace all QPair/qMakePair with std::pair in qtbase/widgets | dev | qt/qtbase | Status: MERGED | +2 | 0 |
599274,3 | Replace all QPair/qMakePair with std::pair in qtbase/network | dev | qt/qtbase | Status: MERGED | +2 | 0 |
599544,13 | Replace QPair/qMakePair with std::pair in qtbase/gui | dev | qt/qtbase | Status: MERGED | +2 | 0 |
599580,6 | Replace QPair/qMakePair with std::pair in qtbase/plugins | dev | qt/qtbase | Status: MERGED | +2 | 0 |
599623,4 | Replace QPair/qMakePair with std::pair in qtbase/printsupport | dev | qt/qtbase | Status: MERGED | +2 | 0 |
605349,2 | Replace QPair/qMakePair with std::pair in qtbase/plugins | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |
605760,3 | Remove stray qpair includes | dev | qt/qtbase | Status: MERGED | +2 | 0 |
612644,2 | Get rid of QPair and mark the module as QPair free | dev | qt/qtnetworkauth | Status: MERGED | +2 | 0 |
612953,2 | Get rid of QPair and mark the module as QPair free | 6.9 | qt/qtnetworkauth | Status: MERGED | +2 | 0 |
613079,5 | Get rid of QPair | 6.8 | qt/qtnetworkauth | Status: MERGED | +2 | +1 |
613288,2 | Drop QT_NO_QPAIR from the module definitions | 6.9 | qt/qtnetworkauth | Status: MERGED | +2 | 0 |
613294,3 | Drop QT_NO_QPAIR from the module definitions | dev | qt/qtnetworkauth | Status: MERGED | +2 | 0 |
615973,2 | Replace all QPair/qMakePair with std::pair in qtbase/widgets | 6.9 | qt/qtbase | Status: MERGED | +2 | 0 |
616034,2 | Replace QPair/qMakePair with std::pair in qtbase/gui | 6.9 | qt/qtbase | Status: MERGED | +2 | 0 |
617312,2 | Replace all QPair/qMakePair with std::pair in qtbase/widgets | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |
638700,6 | Port away from QPair | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |