Steven Schveighoffer Wrote:

> auto set = new TreeSet!uint(1, 3, 5, 7, 9);
> assert(set.length == 5);
> auto range = set[1..set.length];
> 
> assert(walkLength(range) == 2); // probably not what you expected

Where you got that "1"?
How to slice it from begin to 7?

Looks like an operator overload abuse. Slicing is an array's feature. If a 
collection doesn't support array interface, it's questionable whether it should 
support slicing as it's defined in D. By stretching slicing to non-array 
collections you break its semantics. Good for voodoo, bad for engineering.

Reply via email to