Why are static arrays not ranges?
cym13 via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Sep 21 13:43:22 PDT 2015
On Monday, 21 September 2015 at 20:33:10 UTC, Jack Stouffer wrote:
> 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?
For an element of explanation see my answer at a similar question
here:
http://forum.dlang.org/post/xdhuberedpjuxydbwdip@forum.dlang.org
More information about the Digitalmars-d-learn
mailing list