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.