Why are static arrays not ranges?

Jack Stouffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Sep 21 13:33:07 PDT 2015


import std.range;

void main() {
     int[6] a = [1, 2, 3, 4, 5, 6];

     pragma(msg, isInputRange!(typeof(a)));
     pragma(msg, isForwardRange!(typeof(a)));
     pragma(msg, isRandomAccessRange!(typeof(a)));
}

$ dmd -run test.d
false
false
false

That's ridiculous. Do I have to wrap my static arrays in structs 
to get range primitives?

Is there an actual reason for this?


More information about the Digitalmars-d-learn mailing list