1 | // RUN: %check_clang_tidy -std=c++98 %s cppcoreguidelines-special-member-functions %t |
2 | |
3 | class DefinesDestructor { |
4 | ~DefinesDestructor(); |
5 | }; |
6 | // CHECK-MESSAGES: [[@LINE-3]]:7: warning: class 'DefinesDestructor' defines a destructor but does not define a copy constructor or a copy assignment operator [cppcoreguidelines-special-member-functions] |
7 | |
8 | class DefinesCopyConstructor { |
9 | DefinesCopyConstructor(const DefinesCopyConstructor &); |
10 | }; |
11 | // CHECK-MESSAGES: [[@LINE-3]]:7: warning: class 'DefinesCopyConstructor' defines a copy constructor but does not define a destructor or a copy assignment operator [cppcoreguidelines-special-member-functions] |
12 | |
13 | class DefinesCopyAssignment { |
14 | DefinesCopyAssignment &operator=(const DefinesCopyAssignment &); |
15 | }; |
16 | // CHECK-MESSAGES: [[@LINE-3]]:7: warning: class 'DefinesCopyAssignment' defines a copy assignment operator but does not define a destructor or a copy constructor [cppcoreguidelines-special-member-functions] |
17 | |
18 | class DefinesNothing { |
19 | }; |
20 | |
21 | class DefinesEverything { |
22 | DefinesEverything(const DefinesEverything &); |
23 | DefinesEverything &operator=(const DefinesEverything &); |
24 | ~DefinesEverything(); |
25 | }; |
26 | |
27 | |