summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-09-21 15:51:12 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-09-22 13:52:19 +0200
commit4b57246a616b18d1f1cc2f7e1a93466a8d5db560 (patch)
treec1c97f4c68eb0331ec4ec5a299de03b891828567
parent631eed68d0ea5e1e8e5c2ad7d56b3dcbfbcb4aa0 (diff)
Remove default ctor for QIterable
MSVC has strange problems with it and we don't actually need it. Change-Id: I2c443946d52d475208800f310b5f910da165c99b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/corelib/kernel/qassociativeiterable.h5
-rw-r--r--src/corelib/kernel/qiterable.h2
-rw-r--r--src/corelib/kernel/qmetatype.cpp4
-rw-r--r--src/corelib/kernel/qsequentialiterable.h5
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp8
5 files changed, 14 insertions, 10 deletions
diff --git a/src/corelib/kernel/qassociativeiterable.h b/src/corelib/kernel/qassociativeiterable.h
index 1122fd118d..40f1768d5b 100644
--- a/src/corelib/kernel/qassociativeiterable.h
+++ b/src/corelib/kernel/qassociativeiterable.h
@@ -111,7 +111,10 @@ public:
{
}
- QAssociativeIterable() = default;
+ QAssociativeIterable()
+ : QIterable(QMetaAssociation(), nullptr)
+ {
+ }
template<typename Pointer>
QAssociativeIterable(const QMetaAssociation &metaAssociation, Pointer iterable)
diff --git a/src/corelib/kernel/qiterable.h b/src/corelib/kernel/qiterable.h
index 20d937591a..c77a158420 100644
--- a/src/corelib/kernel/qiterable.h
+++ b/src/corelib/kernel/qiterable.h
@@ -450,8 +450,6 @@ protected:
Container m_metaContainer;
public:
- QIterable() = default;
-
template<class T>
QIterable(const Container &metaContainer, const T *p)
: m_iterable(p), m_metaContainer(metaContainer)
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 87835be25c..798d43686a 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -2036,7 +2036,7 @@ static bool viewAsSequentialIterable(QMetaType fromType, void *from, void *to)
return true;
}
- QIterable<QMetaSequence> j;
+ QIterable<QMetaSequence> j(QMetaSequence(), nullptr);
if (QMetaType::view(
fromType, from, QMetaType::fromType<QIterable<QMetaSequence>>(), &j)) {
i = std::move(j);
@@ -2118,7 +2118,7 @@ static bool viewAsAssociativeIterable(QMetaType fromType, void *from, void *to)
return true;
}
- QIterable<QMetaAssociation> j;
+ QIterable<QMetaAssociation> j(QMetaAssociation(), nullptr);
if (QMetaType::view(
fromType, from, QMetaType::fromType<QIterable<QMetaAssociation>>(), &j)) {
i = std::move(j);
diff --git a/src/corelib/kernel/qsequentialiterable.h b/src/corelib/kernel/qsequentialiterable.h
index 72e17cfc65..0bac435d7b 100644
--- a/src/corelib/kernel/qsequentialiterable.h
+++ b/src/corelib/kernel/qsequentialiterable.h
@@ -104,7 +104,10 @@ public:
{
}
- QSequentialIterable() = default;
+ QSequentialIterable()
+ : QIterable(QMetaSequence(), nullptr)
+ {
+ }
template<typename Pointer>
QSequentialIterable(const QMetaSequence &metaSequence, Pointer iterable)
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 8122220b88..0eefd95ac7 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -4758,8 +4758,8 @@ void tst_QVariant::sequentialIterableAppend()
{
QList<int> container { 1, 2 };
auto variant = QVariant::fromValue(container);
- QVERIFY(variant.canConvert<QIterable<QMetaSequence>>());
- QSequentialIterable asIterable = variant.view<QIterable<QMetaSequence>>();
+ QVERIFY(variant.canConvert<QSequentialIterable>());
+ QSequentialIterable asIterable = variant.view<QSequentialIterable>();
const int i = 3, j = 4;
void *mutableIterable = asIterable.mutableIterable();
asIterable.metaContainer().addValueAtEnd(mutableIterable, &i);
@@ -4778,8 +4778,8 @@ void tst_QVariant::sequentialIterableAppend()
{
QSet<QByteArray> container { QByteArray{"hello"}, QByteArray{"world"} };
auto variant = QVariant::fromValue(std::move(container));
- QVERIFY(variant.canConvert<QIterable<QMetaSequence>>());
- QSequentialIterable asIterable = variant.view<QIterable<QMetaSequence>>();
+ QVERIFY(variant.canConvert<QSequentialIterable>());
+ QSequentialIterable asIterable = variant.view<QSequentialIterable>();
QByteArray qba1 {"goodbye"};
QByteArray qba2 { "moon" };
void *mutableIterable = asIterable.mutableIterable();