Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Mesosphere Sprint 49
-
3
Description
Classes need to always use virtual inheritance when being derived from FlagsBase. Also, in order to compose such derived flags they should be inherited virtually again.
Some examples:
struct A : virtual FlagsBase {}; // OK struct B : FlagsBase {}; // ERROR struct C : A {}; // ERROR
We should implement a clang-tidy checker to catch such wrong inheritance issues.