isRandomAccessRange on static array

Ali Çehreli acehreli at yahoo.com
Mon Apr 9 15:37:47 PDT 2012


On 04/09/2012 03:20 PM, Brad Anderson wrote:
> A user in IRC was having difficulty using std.algorithm.sort on a static
> array. It appears to be due to static arrays don't pass the
> isRandomAccessRange constraint.
>
> static assert(isRandomAccessRange!(uint[5]));
>
> Results in:
>
> Error: static assert (isRandomAccessRange!(uint[5u])) is false
>
> Is this a bug or am I missing something?
>
> Regards,
> Brad Anderson


Static arrays cannot be even InputRanges because they can't provide 
popFront(). But a whole slice of a static array is even a RandomAccessRange:

    int[3] s;
    s[];     // whole slice

Ali


More information about the Digitalmars-d-learn mailing list