On Saturday, 29 April 2017 at 14:13:18 UTC, Patrick Schluter
wrote:
For the same reason it is in C. If the ambition for D is to be
a system language then it should avoid introducing artificial
abstractions and work with the machine it runs on, not against.
The C model isn't much like x86 at all. You can do operations on
8 bit and 16 bit registers on x86, but C doesn't reflect that
reality.
I usually defend D's behavior of "blame C". Compatibility is
useful for us and conservative programmers like familiarity, but
I can't defend C's rules on the merits. They aren't like the
processor and they aren't even that useful.