http://d.puremagic.com/issues/show_bug.cgi?id=7881
Summary: std.string.format does not support structs with no toString Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: andrej.mitrov...@gmail.com --- Comment #0 from Andrej Mitrovic <andrej.mitrov...@gmail.com> 2012-04-09 16:02:18 PDT --- import std.string; import std.stdio; struct Foo { string name; } void main() { Foo foo; // ok writefln("%s", foo); // Can't convert test.Foo to string: "string toString()" not defined format("%s", foo); } I thought I was being clever when implementing this: void printfln(string file = __FILE__, int line = __LINE__, T...)(T t) { writefln("%s L %s - %s", file, line, format(t[0], t[1 .. $])); } It gives me a nice file+line when printing (great for debugging). Unfortunately format() fails to work in numerous cases that writef has no issues with. Anywho I can use this workaround: void printfln(string file = __FILE__, int line = __LINE__, T...)(T t) { writef("%s L %s - ", file, line); writefln(t[0], t[1 .. $]); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------