Project Elvis
Ola Fosheim Grøstad
ola.fosheim.grostad+dlang at gmail.com
Sun Oct 29 20:15:41 UTC 2017
On Sunday, 29 October 2017 at 20:05:08 UTC, Steven Schveighoffer
wrote:
> It's actually perfect for generic code. If you need something
> other than the current "0 means false" behavior (like for
> instance int), then you wrap in a type that opCast!bool means
> what you want.
I think we just have to agree that we disagree. Generic
programming relies on consistent protocols.
So, you generally don't want 0 to be considered as an invalid
value. Because of the defaults in D, cast(bool) isn't really all
that useful.
It would have been better if the default was to deny casting to
bool, but that is too late as D has decided to be too close to C
on so many levels, so it would be a bad idea to diverge from C
for that now. So the next best thing is to let the programmer
specify that something is invalid with some other means than
opCast to bool.
*shrug*
More information about the Digitalmars-d
mailing list