Yet another slap on the hand by implicit bool to int conversions
Daniel Gibson
metalcaedes at gmail.com
Mon Jun 20 06:17:56 PDT 2011
Am 20.06.2011 14:47, schrieb Steven Schveighoffer:
> On Sun, 19 Jun 2011 19:42:22 -0400, bearophile
> <bearophileHUGS at lycos.com> wrote:
>
>> Timon Gehr:
>>
>>> Maybe DMD could warn on nonsense of the form x != x.
>>
>> Right. This thread is very good food for this enhancement request of
>> mine:
>> http://d.puremagic.com/issues/show_bug.cgi?id=5540
>>
>> Vote for this enhancement :-)
>
> I don't think this is a good idea. Generic code could result in an
> error where there shouldn't be. For example:
>
> int foo(T)()
> {
> if(T.sizeof == char.sizeof)
> ...
> }
>
> Would this fail to compile where T == char? What about if T == ubyte?
>
> Generic programming sometimes results in silly code that is perfectly
> acceptable as generic code, and we need to take this into account before
> making decisions assuming a person is writing the code.
>
> -Steve
It probably makes more sense to use static if in that case - and static
if could be an exception for these rules.
Cheers,
- Daniel
More information about the Digitalmars-d
mailing list