1 struct NonTrivial {
NonTrivialNonTrivial2     NonTrivial() {}
NonTrivialNonTrivial3     NonTrivial(const NonTrivial &) {}
constFunctionNonTrivial4     void constFunction() const {};
nonConstFunctionNonTrivial5     void nonConstFunction() {};
6     int a;
7 };
8 
9 class BaseWithVirtuals
10 {
11 public:
virtualMethod1(NonTrivial)12     virtual void virtualMethod1(NonTrivial) {}; // Warn
virtualMethod2(NonTrivial)13     virtual void virtualMethod2(NonTrivial) {}; // Warn
nonVirtualMethod(NonTrivial)14     void nonVirtualMethod(NonTrivial) {}; // Warn
15 };
16 
17 class DerivedWithVirtuals : BaseWithVirtuals {
18 public:
virtualMethod1(NonTrivial)19     void virtualMethod1(NonTrivial) override {}; // Warn
virtualMethod2(NonTrivial)20     void virtualMethod2(NonTrivial) {}; // Warn
nonVirtualMethod(NonTrivial)21     void nonVirtualMethod(NonTrivial) {}; // Warn
22 };
23