On Thursday, 8 June 2017 at 02:25:17 UTC, Jonathan M Davis wrote:
Oh I see, the was error related to iteration, not sorting.
Ranges do not support iterating with an index. The workaround
if you want to have an index with ranges and foreach, then you
should use lockstep:
http://dlang.org/phobos/std_range.html#lockstep
e.g.
foreach(i, v; lockstep(iota!size_t(0), s))
{}
or
foreach(i, v; lockstep(iota(0), s))
{}
There's an enumerate():
https://dlang.org/phobos/std_range.html#enumerate
import std.algorithm : sort;
import std.range : enumerate;
foreach(i, k; aa.keys.sort().enumerate) {
/* ... */
}