https://issues.dlang.org/show_bug.cgi?id=13480
--- Comment #3 from Kenji Hara <[email protected]> --- (In reply to Jakob Ovrum from comment #2) > Thanks, nice to know it's possible to work around. > > However, I don't think this flag should need to exist. > > If strings were simply not quoted, one could get quoting by doing the much > more intuitive explicit quoting: `%("%s"%|, %)`. Using '-' is just a hack - > it has nothing to do with left-justification and thus the reader has to look > it up to know what it does. We should follow the principle of least surprise > here, by formatting the string as-is unless quoting is added by the user. Handmade quoting is not enough for strings which contain double-quote character. See: import std.stdio; void main() { string s = `Hello "D" world!`; writefln("[%(%s%)]", [s]); } will output: ["Hello \"D\" world!"] By design, std.format.formatValue functions stringize values by using unformattable representation with unformatValue functions by default. That's the reason why automatic quoting is done by default. --
