Using dmd 2.066.0-rc1 Test with the following code: -- splittest.d -- import std.stdio : writeln; import std.array : split; void main() { writeln("one,two,three".split(",")); } -- splittest.d -- Compiled with 'rdmd splittest.d' outputs ["one", "two", "three"] as expected. Compiled with 'rdmd -inline -O splittest.d' outputs ["one,two,three"], an array with one element instead of three. It is the combination of the -inline and -O flags that causes the issue, on their own it works. Works fine in dmd 2.065.
Confirmed on OS X. Increasing status to regression.
Introduced by same pull request as issue 13237, looks like a duplicate.
*** This issue has been marked as a duplicate of issue 13237 ***