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>
bb10
Ulf Hermann 2020-09-21 15:51:12 +02:00
parent 631eed68d0
commit 4b57246a61
5 changed files with 14 additions and 10 deletions

View File

@ -111,7 +111,10 @@ public:
{
}
QAssociativeIterable() = default;
QAssociativeIterable()
: QIterable(QMetaAssociation(), nullptr)
{
}
template<typename Pointer>
QAssociativeIterable(const QMetaAssociation &metaAssociation, Pointer iterable)

View File

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

View File

@ -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);

View File

@ -104,7 +104,10 @@ public:
{
}
QSequentialIterable() = default;
QSequentialIterable()
: QIterable(QMetaSequence(), nullptr)
{
}
template<typename Pointer>
QSequentialIterable(const QMetaSequence &metaSequence, Pointer iterable)

View File

@ -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();