if(arr) now a warning
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Wed Apr 29 10:36:00 PDT 2015
On 4/29/15 7:05 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm at gmx.net>"
wrote:
> On Wednesday, 29 April 2015 at 11:28:02 UTC, Vladimir Panteleev wrote:
>> On Wednesday, 29 April 2015 at 11:07:52 UTC, Marc Schütz wrote:
>> ://github.com/rejectedsoftware/vibe.d/commit/e9e66f4e726db64d15e078dc472606b57783728a#diff-a0c0675933703d01a5d6ad8ebfc097abL79
>>
>>
>> Are you talking about the last diff in particular? Because I would
>> argue that that one is a poor design decision in Vibe (overloaded
>> functions' return values should have the same semantics). What if one
>> overload returned "bool" for success/failure and another a "size_t"
>> for number of characters written to the error message buffer?
>
> You're probably right, it's not the best design. But still, the original
> version compiled fine because that string was implicitly convertible to
> bool, which the DMD change caught.
I have no doubt the change can find certain errors. Problem is false
positives. FWIW these are the changes I had to operate on std.allocator
to make it work with the new compiler. One per 194 lines on average, all
false positives:
https://github.com/andralex/phobos/commit/4c14bf48fb5754782aec2380d41529eba3f2357b
Andrei
More information about the Digitalmars-d
mailing list