Details
-
Task
-
Resolution: Unresolved
-
P4: Low
-
None
-
None
-
None
-
21
Description
Let's be honest: the change from int to qsizetype sizes in Qt 6.0 was more than rushed. Half the API and a good chunk of implementation code is still using int when it should be using qsizetype, and we have been papering over this issue by making qMin() allow mixed-type arguments and, apparently, by removing the annoying MSVC warnings that, in Qt 5, so nicely pin-pointed all these implicit conversions as hard errors.
There were several real bugs in e.g. the QBuffer code corresponding to int/qsizetype, so there's probably more.
Acceptance criterium: every int has been inspected and, if needed, ported to qsizetype. Unfortunately, relying on compiler warnings isn't enough, as explicit casts won't raise warnings, but need to be ported nonetheless.
The goal is not to just shut up compiler warnings. The goal has to be to enable a smooth qsizetype transition with no impedance mismatches between containers and the rest of Qt. This means that even public APIs are not exempt from being changed (examples that were fixed: QVersionNumber; QByteArrayList).
Attachments
Issue Links
- blocks
-
QTBUG-104825 Finish migration to qsizetype [GUI: <rest>]
- Open