On Saturday, 21 September 2013 at 21:58:44 UTC, bearophile wrote:
Maxim Fomin:

Thanks, that is clear. Unfortunately, I cannot say that the explanation improves my attidute to the language - dmd still breaks too often code and some significant features (like AAs, scope, shared) are at risk to be seriously changed which is a serious problem to the user.

The creation of such breaking changes should have priority over (= happen sooner than) most other compiler changes and bug fixes.

Beside AAs, scope, and shared, another smaller example of such breaking changes was discussed a lot today:

http://d.puremagic.com/issues/show_bug.cgi?id=11080
http://d.puremagic.com/issues/show_bug.cgi?id=4733


Yes, unfortunately D problems are not limited to those mentioned.

In Issue 11080 someone has asked to disallow code like:

assert("something going wrong");

But I suggest to not add that rule and instead implement the small breaking change discussed in Issue 4733, that disallows the use of dynamic arrays in all boolean evaluation contexts. So Issue 11080 becomes a special case that needs no special testing code in the compiler.

Bye,
bearophile

Well, it is an option to ban dynamic arrays in boolean conditions
because the way they are implemented right now is buggy, but I
consider fixing semantic and still keeping syntax to be a better
option comparing to a complete ban.

Reply via email to