import std.range.primitives : isRandomAccessRange;auto sortSubRange(R)(R range, size_t i, size_t j) if (isRandomAccessRange!R) {import std.algorithm.sorting : topN, partialSort; size_t start = i; if (i != 0) { topN(range, i); start++; } partialSort(range[start .. $], j-start); return range[i .. j]; }
Wonderful!