https://issues.dlang.org/show_bug.cgi?id=20258
Andrej Mitrovic <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|alias this produces an |alias this produces an |infinite range when used |infinite range when used |with hashmaps |with ranges --- Comment #2 from Andrej Mitrovic <[email protected]> --- Simpler example: ----- import std.stdio; import std.range; struct Set { auto walk () { return [].only; } alias walk this; } void main() { Set set; writeln(set); } ----- It has to do with ranges, not specifically hashmaps as previously thought. I think somewhere in the formatter it's probably trying to invoke walk() multiple times, implicitly through that 'alias this'. --
