Calling std.algorithm.splitter with a non-empty string and an empty delimiter causes it to produce an infinite range of empty strings. This, in turn, causes std.array.split to get into an infinite loop when it is called with an empty delimiter. When the delimiter is empty, std.algorithm.splitter should return a range containing 1-element ranges of each element in the original range. (Cf. Perl's split(//, "string").) At the very least, std.array.split should not have an infinite loop.
https://github.com/D-Programming-Language/phobos/pull/1456
Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/9fab541993c846fd5ddffedfa4a2014634b88cfc Fix issue 10773. https://github.com/D-Programming-Language/phobos/commit/395b72204ebc62f2788ed307f002824cbebaccdd Merge pull request #1456 from quickfur/issue10773 Fix issue 10773.
Fixed in git HEAD.