std.stdio.writeln should not accept infinite ranges?

Xinok via Digitalmars-d digitalmars-d at puremagic.com
Thu Nov 12 17:18:12 PST 2015


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)".


More information about the Digitalmars-d mailing list