To catch cases of invalid code like this: struct A : B {}; struct B : A {}; Reviewed-by: Roberto Raggi