I've just caught up on this thread. Built-in dynamic arrays have been one of D's major features since the early days. Now you're planning to remove this feature?

http://www.digitalmars.com/d/1.0/builtin.html
states that the C++ STL has many types that have been created to compensate for the limitations of the built-in array type, and the power of D's built-in arrays largely eliminates the need for these. So now you're suggesting that we do away with this power, and create these library types that the point was to avoid?

Walter Bright wrote:
<snip>
The .length property of T[] would then become an rvalue only, not an lvalue, and ~= would no longer be allowed for T[].

I thought you were already moving that functionality into T[new].

I think T[new] versus T[] is actually a good design - it makes for a form of array length constancy as well as possibly getting rid of such nasties as bug 2093.

We both feel that this would simplify D, make it more flexible, and remove some awkward corner cases like the inability to say a.length++.

I must've missed the discussion - what's wrong with fixing such expressions to work in terms of property setters/getters in the natural way?

Stewart.

Reply via email to