summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qlist.h
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2023-04-21 15:46:21 +0200
committerThiago Macieira <thiago.macieira@intel.com>2023-04-24 19:49:29 +0000
commit3fd7086878ea03861fc82348fc5b4e77f76b2a86 (patch)
treee6af812440373d33d404b369192e29b5a36f8ea7 /src/corelib/tools/qlist.h
parente0cec08480ab6a453e62b76666d5e24bef4f2ab0 (diff)
Silence MSVC warning on constructing QList from initializer_list
MSVC complains because we call Data::allocate(args.size()) and, of course, initializer_list::size() returns unsigned std::size_type, while the relevant Data::allocate() overload takes a signed qsizetype. The constructor from iterators potentially has the same problem, if the iterator type's difference_type is unsigned, so make the type-conversion overt there, too. Pick-to: 6.2 6.5 Change-Id: I521eca26a48aed570855b13242bf2df8bfa38f96 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qlist.h')
-rw-r--r--src/corelib/tools/qlist.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h
index cc65039941..d61b90503a 100644
--- a/src/corelib/tools/qlist.h
+++ b/src/corelib/tools/qlist.h
@@ -274,7 +274,7 @@ public:
}
inline QList(std::initializer_list<T> args)
- : d(Data::allocate(args.size()))
+ : d(Data::allocate(qsizetype(args.size())))
{
if (args.size())
d->copyAppend(args.begin(), args.end());
@@ -282,7 +282,7 @@ public:
QList<T> &operator=(std::initializer_list<T> args)
{
- d = DataPointer(Data::allocate(args.size()));
+ d = DataPointer(Data::allocate(qsizetype(args.size())));
if (args.size())
d->copyAppend(args.begin(), args.end());
return *this;
@@ -295,7 +295,7 @@ public:
} else {
const auto distance = std::distance(i1, i2);
if (distance) {
- d = DataPointer(Data::allocate(distance));
+ d = DataPointer(Data::allocate(qsizetype(distance)));
// appendIteratorRange can deal with contiguous iterators on its own,
// this is an optimization for C++17 code.
if constexpr (std::is_same_v<std::decay_t<InputIterator>, iterator> ||