On 12/12/13 22:55, Ali Çehreli wrote:
That condition is what makes a slice an OutputRange, which causes the super confusing state of "output range losing elements after put'ting": :)import std.range; void main() { auto s = [ 1, 2, 3 ]; s.put(10); assert(s.length == 2); // PASSES! :p }
Ouch!!I see why it happens, but I really, really don't like that. Isn't there a case here for an override to put specifically for arrays? Or are there some benefits to it working like this?
