Details
-
Task
-
Resolution: Duplicate
-
P3: Somewhat important
-
None
-
6.0
-
None
-
13
-
Foundation PM Prioritized
Description
From the corresponding mailinglist thread:
since QString, QList, etc. are using qsizetype for indexing- and size-operations.
What is the plan with classes working with aforementioned container classes which are still using int in their interfaces?
If they keep using int there could be a lot of warnings like this one:
warning: implicit conversion loses integer precision: 'qsizetype' (aka 'long long') to 'int' [-Wshorten-64-to-32]
Or you have to plaster your code with casts. E.g. every time you pass an index of your container to your model class.
Some classes which are probably affected:
QtCore:
- QAbstractItemModel and subclasses (using QList or std::vector as data storage)
- QModelIndex
- QRegularExpression (match offset)
- QStringMatcher
- QSyntaxHighlighter
- QTextBoundaryFinder
- QXmlString::size
QtGui:
- QTextCursor
- QTextDocument (find offset, character{At,Count})
- QTextLayout
- QValidator and subclasses (validate offset)
QtWidgets:
- QAbstractItemView and subclasses
- QLineEdit
Attachments
For Gerrit Dashboard: QTBUG-86224 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
311346,2 | QXmlString::size(): Change return type to qsizetype | dev | qt/qtbase | Status: MERGED | +2 | 0 |