1 // RUN: %check_clang_tidy -std=c++23 %s misc-unconventional-assign-operator %t
2 
3 struct BadArgument {
4   BadArgument &operator=(this BadArgument& self, BadArgument &);
5   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: operator=() should take 'BadArgument const&', 'BadArgument&&' or 'BadArgument'
6 };
7 
8 struct GoodArgument {
9   GoodArgument &operator=(this GoodArgument& self, GoodArgument const &);
10 };
11