std.array string.split("") bug

John Colvin john.loughran.colvin at gmail.com
Wed Aug 7 13:39:11 PDT 2013


On Wednesday, 7 August 2013 at 19:10:11 UTC, Borislav Kosharov 
wrote:
> Something strange happens when I do this:
>
> unittest {
>     import std.array, std.string;
>     string s = "test";
>     //assert(s.toUpper.split("").join("-") == "T-E-S-T");
>     //"Memory allocation failed"
>     //[Finished in 26.5s]
>     //CPU: 1% -> 50% | 2.7GHz dual core
>     //RAM: 1.6GB -> 2.6GB | 1GB diff
>     assert(s.split("") == ["t","e","s","t"]);
>     //ditto
> }
>
> I just want to achieve what the commented assert's result 
> should be. Is there a better way to do that? And if it is 
> really a bug where should I report it?

It's a bug in std.algorithm.splitter

popFront doesn't actually pop anything at all when the separator 
is a "", so it just keeps iterating forever.


More information about the Digitalmars-d mailing list