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
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 |