size_t index=-1;
tsbockman via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Mar 18 16:48:32 PDT 2016
On Friday, 18 March 2016 at 14:51:34 UTC, Steven Schveighoffer
wrote:
> Note, I have made these mistakes myself, and I understand what
> you are asking for and why you are asking for it. But these are
> bugs. The user is telling the compiler to do one thing, and
> expecting it to do something else. It's not difficult to fix,
> and in fact, many lines of code are written specifically to
> take advantage of these rules. This is why we cannot remove
> them. The benefit is not worth the cost.
Actually, I think I confused things for you by mentioning to
`cast(ulong)`.
I'm not asking for a Java-style "no unsigned" system (I hate
that; it's one of my biggest annoyances with Java). Rather, I'm
picking on *implicit* conversions between signed and unsigned.
I'm basically saying, "because information is lost when casting
between signed and unsigned, all such casts should be explicit".
This could make code rather verbose - except that from my
experiments, with decent VRP the compiler can actually be
surprisingly smart about warning only in those cases where
implicit casting is really a bad idea.
More information about the Digitalmars-d-learn
mailing list