On Thursday, 18 May 2017 at 15:38:39 UTC, Jonathan M Davis wrote:
That point concerned me as well. Dynamic arrays in D are very strange beasts indeed, and while it works for them to function as both ranges and (sort of) containers, it's also created a fair bit of confusion, and it really a fair bit of what is done with dynamic arrays are _not_ range-based functions (e.g. appending), making the whole situation that much more confusing when range-based functions and array-specific functions are mixed (which is definitely going to happen in stuff like string code).
Yes, adding in the free function versions of the range primitives in std.range, while convenient initially, seems to have had large negative effects down the line.
