On 8/2/24 16:00, Kevin Bailey wrote:
I'm asking, why is the default C compatibility (of all things) rather
than "safety that I can override if I need to make it faster" ?
I'm sure there are more experienced people here that will be able to
answer better, but as far as I remember, the policy has been like this
since times immemorial:
D code that happens to be valid C code as well should either behave exactly
like C, or not compile at all.
I can't find a quote in the official documentation right now, though.
IIRC, there are a couple of specific situations where this is not the
case, but I think this is the answer to your question ("why?").
You can well disagree with this policy, and there are probably many good
reasons for that, but that's probably a deeper discussion.