https://issues.dlang.org/show_bug.cgi?id=23319
Salih Dincer <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from Salih Dincer <[email protected]> --- This can be an alternative: template gen (alias fn) { struct GenRes { // import std.traits; ReturnType!fn func; enum empty = false; auto front() { return func; } void popFront() { func = fn(); } } GenRes gen() { auto gen = GenRes(); gen.popFront(); return gen; } } unittest { import std.range, std.random : uniform; import std.stdio; enum E : char { False = 48, True } auto r = gen!(function char() => uniform!E); r.take(12).writefln!"[%s]"; } Sources: https://forum.dlang.org/post/[email protected] https://forum.dlang.org/post/[email protected] --
