On 4/29/15 7:05 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?= <[email protected]>" 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

Reply via email to