On Monday, 22 January 2024 at 01:14:06 UTC, Steven Schveighoffer wrote:
The language should not allow unary unsigned anything.

This is unlikely to get fixed, just due to the nature of D's philosophy when it comes to C compatibility.

It would also break a lot of existing code.

I think the bigger issue is implicit conversion from unsigned to signed of the same bit size. In a future edition D could require a larger signed type in order to implicitly convert from unsigned. That would have caught the `long johnstone =` line.

Also signed should never convert to unsigned, though I don't think that's happening here.

Reply via email to