https://issues.dlang.org/show_bug.cgi?id=16724
Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.wakel...@webdrake.ne | |t --- Comment #5 from Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> --- Sorry to have missed this, but the fix is itself broken, because it strips out the lazy `front` of `randomCover`. First, random algorithms (like random cover) ideally need to have a truly lazy initial `front` value, otherwise you can run into trivial errors like: auto arr = [1, 2, 3, 4, 5]; auto cover = arr.randomCover; cover.writeln; // three 'different' covers cover.writeln; // but each of them with cover.writeln; // the same first value ... so the check on already-chosen elements in `front` wasn't there by accident (although it may have needed further work in how it was implemented). Second, I just tried running the above right now and got a never-ending stream of `5, 5, 5, 5, 5, ...` out of my computer before I killed it. So I'm not sure that this new randomCover is working right at all :-( --