A static array has a constant length, so it is not possible to popFront on a static array.Making a dynamic array from it is easy, just slice it with []:pragma(msg, isInputRange!(typeof(a[]))); pragma(msg, isForwardRange!(typeof(a[]))); pragma(msg, isRandomAccessRange!(typeof(a[])));
Thanks for all of the replies. I was under the impression that the slicer allocated GC, but some tests show that's not true.