Following simple program fails to compile with latest DMD 2.041 (In fact it fails to compile with any dmd2 version i have tried):

"test.d"
> import std.stdio;
> import std.range;
> import std.algorithm;
>
> int main()
> {
>   auto test = stride( iota(0,10,1) , 2 );
>   return 0;
> }

Output:
[m...@mistwork d]$ dmd -run test.d
/usr/include/d/std/range.d(716): Error: this._input.front() is not an lvalue
/usr/include/d/std/range.d(724): Error: this._input.back() is not an lvalue


Is it a bug? I managed to get stride working only on arrays. If it is the supposed way to work, how can be similar filtering done on ranges?

Reply via email to