On Wednesday, 4 April 2018 at 22:47:07 UTC, Jonathan M Davis
wrote:
Because doing that basically makes it impossible to guarantee
that the type system isn't violated. Once an immutable variable
has been initialized, its value must _never_ change. It must be
initalized exactly once, and the compiler doesn't necessarily
have any clue what the base class constructors did or didn't
do. There's no guarantee that it even has access to the
function bodies for the base class when compiling the derived
class. So, there is no way for it to safely put off the
initialization of any base class members for the derived class
to do.
- Jonathan M Davis
Ah, makes sense. I was looking for a somewhat technical answer.
Thanks for that : ).