Cooler:

Again - stop consider current state of D implementation. Consider how we can make D better. I think fun3() push programmers to make errors.

I think functions like void fun(int[] a){} are bug prone, because you seem to change the length of the array inside the function, or if you perform an append you modify a new memory zone, but such changes are invisible from the caller. Some times this is what you want, and in some cases this is a programmer mistake (this bug happened to me several times).

But I don't know what to change and if this situation can be improved now. Perhaps all that's left to improve is to add tests to a D lint that warns against this possible source of bugs.

Bye,
bearophile

Reply via email to