The documentation for std.stdio.write() says: "... for each argument ... format the argument (as per to!(string)(arg)) ...". Nevertheless, arrays are formatted differently when using std.stdio.write() and std.conv.to!(string)(): import std.stdio; import std.conv; void main() { writeln([1,2,3]); // prints [1 2 3] writeln(to!(string)([1,2,3])); // prints [1,2,3] } I expect the formatting to be identical.
Resolved by using a ", " separator by default in to!string. http://www.dsource.org/projects/phobos/changeset/2052