The following code compiles and runs:

import std.stdio, std.random;

void main()
{
    writeln(rndGen);
}

Since rndGen is an infinite range, this code runs forever. It seems to be that we need to add a check for isInfinite on writeln and other related functions.

Does anybody have a use case where this is actually practical? I don't see a reason for allowing infinite ranges here, considering how easy it is to write "range.take(n)".

Reply via email to