https://issues.dlang.org/show_bug.cgi?id=13091
--- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/556ef61ef8ede92f06b05e233cf7521f5042a18c Use new cartesianProduct implementation for 2-argument case as well. The original implementation will now only be used when one or both the ranges is either non-forward or infinite. The new implementation is also more attribute-friendly (works with pure, nothrow, @nogc, @safe), so this also fixes issue 13091. https://github.com/D-Programming-Language/phobos/commit/2bd311c0edf3ecb4d8faa988a3ce2f468479d06f Merge pull request #2534 from quickfur/issue13091 Use new cartesianProduct implementation for 2-argument case as well. --