How safe is it to rely on doing something like this:

    uint[size_t] x;

    foreach(i; iota(0, 10))
        x[i]++;

    foreach(i; iota(5, 15))
        x[i]++;

... ? In this case "correct" output comes out -- that is, values for keys 1-4 and 10-14 come out as 1, values for keys 5-9 come out as 2 -- but it seems a bit shaky to assume that just incrementing x[i] without first checking ((i in x) !is null) will come out correctly.

I note that the above works even if uint[size_t] is changed to real[size_t], which is a surprise, because I'd have assumed that everything would come out as nan's.

Reply via email to