On Wednesday, 14 June 2017 at 02:48:34 UTC, Luís Marques wrote:
Hmm, I suppose that even if we have all of the good stuff of length, opIndex, opSlice, etc., we can't assume the indices are [0..length], right? But there should be some way for, say, map to preserve that information from the slice, the same way random access is preserved.

A quick look into std.algorithm.iteration suggests that this is not actually true. For instance:

    static if (hasLength!R)
    {
        foreach (k; 0 .. data.length / 16)

So I guess we are assuming that if we have length then indexing is always [0..length]. These are the kinds of details that I never know because there is no spec for ranges :(

Reply via email to