On Thursday, 12 May 2022 at 17:06:39 UTC, Ali Çehreli wrote:
void main() {
  const st = DateTime(Duration(0));
[...]

  // (0) I think D should not insist on 'const'
  // when copying types that have no indirections.
  // We shouldn't need the cast() below in this case.
[...]
  iota(cast()st, en, step).each!writeln;
}

[...]
auto iota(B, E, S)(B begin, E end, S step)
[...]
{
    static struct Result
    {
        B current;
[...]
        void popFront()
        {
[...]
            current += step;
        }
    }
[...]
}

Mark iota's `begin` parameter as const. Then you don't need the cast, because `B` will be mutable.

Reply via email to