xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/fuchsia/overloaded-operator.cpp (revision 89a1d03e2b379e325daa5249411e414bbd995b5e)
1*89a1d03eSRichard // RUN: %check_clang_tidy %s fuchsia-overloaded-operator %t
2*89a1d03eSRichard 
3*89a1d03eSRichard class A {
4*89a1d03eSRichard public:
5*89a1d03eSRichard   int operator+(int);
6*89a1d03eSRichard   // CHECK-MESSAGES: [[@LINE-1]]:3: warning: overloading 'operator+' is disallowed
7*89a1d03eSRichard };
8*89a1d03eSRichard 
9*89a1d03eSRichard class B {
10*89a1d03eSRichard public:
11*89a1d03eSRichard   B &operator=(const B &Other);
12*89a1d03eSRichard   // CHECK-MESSAGES-NOT: [[@LINE-1]]:3: warning: overloading 'operator=' is disallowed
13*89a1d03eSRichard   B &operator=(B &&Other);
14*89a1d03eSRichard   // CHECK-MESSAGES-NOT: [[@LINE-1]]:3: warning: overloading 'operator=' is disallowed
15*89a1d03eSRichard };
16*89a1d03eSRichard 
17*89a1d03eSRichard A operator-(const A &A1, const A &A2);
18*89a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:1: warning: overloading 'operator-' is disallowed
19*89a1d03eSRichard 
20*89a1d03eSRichard void operator delete(void*, void*) throw();
21*89a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:1: warning: overloading 'operator delete' is disallowed
22*89a1d03eSRichard 
__anonf93141270102null23*89a1d03eSRichard auto x = []{};
24