Consider
struct base {};
struct child : base {};
It's well-known that sizeof(child) can be 1 by application of the empty base optimisation.
Now however, consider
struct base {};
struct child : base {base b;};
Can the compiler apply the empty base optimisation now, or must sizeof(child) be at least 2?