aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lambda-unique-connection/main.cpp
blob: 3b179131c5fe9fa003ae295d3eff6aed458cf8b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <QtCore/QObject>

void globalFunc();

void test()
{
    QObject *o;
    o->connect(o, &QObject::destroyed, o, []{}, Qt::UniqueConnection); // Warn
    o->connect(o, &QObject::destroyed, o, []{}, Qt::ConnectionType(Qt::UniqueConnection | Qt::DirectConnection)); // Warn
    o->connect(o, &QObject::destroyed, o, []{}); // OK
    o->connect(o, &QObject::destroyed, o, globalFunc); // OK
    QObject::connect(o, &QObject::destroyed, o, []{}, Qt::UniqueConnection); // Warn
    o->connect(o, &QObject::destroyed, o, globalFunc, Qt::UniqueConnection); // Warn
    o->connect(o, &QObject::destroyed, o, &QObject::deleteLater, Qt::UniqueConnection); // OK
    o->connect(o, QOverload<QObject*>::of(&QObject::destroyed), o, &QObject::deleteLater, Qt::UniqueConnection); // OK
    o->connect(o, &QObject::destroyed, o, QOverload<>::of(&QObject::deleteLater), Qt::UniqueConnection); // OK
}