blob: c04e23dcae96219e98af91d4dab60a25b0ec3879 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#include <QtCore/QObject>
struct HasDtor // Warning
{
~HasDtor() { int a; }
};
struct HasDtorAndCopyCtor // Warning
{
HasDtorAndCopyCtor(const HasDtorAndCopyCtor &) {}
~HasDtorAndCopyCtor() {}
};
struct HasDtorAndCopyCtorAndAssign // OK
{
HasDtorAndCopyCtorAndAssign(const HasDtorAndCopyCtorAndAssign &) {}
~HasDtorAndCopyCtorAndAssign() {}
HasDtorAndCopyCtorAndAssign& operator=(const HasDtorAndCopyCtorAndAssign &) { return *this; }
};
struct HasNothing // OK
{
};
struct HasCopyCtor // Warning
{
HasCopyCtor() {}
HasCopyCtor(const HasCopyCtor &) {}
};
struct HasDefaults // OK
{
HasDefaults(const HasDefaults &) = default;
~HasDefaults() = default;
HasDefaults& operator=(const HasDefaults &) = default;
};
struct HasOnlyDTOROnPurpose // OK
{
~HasOnlyDTOROnPurpose();
private:
HasOnlyDTOROnPurpose(const HasOnlyDTOROnPurpose &) = delete;
HasOnlyDTOROnPurpose& operator=(const HasOnlyDTOROnPurpose &) = delete;
};
struct HasOnlyDTOROnPurpose2; // OK
struct HasOnlyDTOROnPurpose2 // OK
{
~HasOnlyDTOROnPurpose2();
private:
Q_DISABLE_COPY(HasOnlyDTOROnPurpose2)
};
struct HasNothingButNested // OK
{
HasNothingButNested() {}
HasCopyCtor c;
};
struct Has3ButDtorDefault
{
~Has3ButDtorDefault() = default;
Has3ButDtorDefault(const Has3ButDtorDefault &);
Has3ButDtorDefault& operator=(const Has3ButDtorDefault &);
};
struct HasEmptyDtor
{
~HasEmptyDtor() {} // OK
};
|