Currently, all of array types does not allow copy-conversion
like ushort to short for their elements.
In old D1 age, static array did not have value semantics, so
the behavior was expected.
In D2, static array had changed to value type, but the behavior
was not changed.
As far as I know, there was no discussion about that, but at
least it is not fundamentally wrong.
Kenji Hara
And what is your personal opinion?
I think an implicit cast between signed / unsigned would be
acceptable even with static arrays. It were only logical.