http://d.puremagic.com/issues/show_bug.cgi?id=6231
Rob Jacques <sandf...@jhu.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[patch] std.conv.to: |[patch] |Structs with toString and |std.conv.to/std.format.: |isInputRange match multiple |Structs with toString and |templates. |isInputRange match multiple | |templates. --- Comment #1 from Rob Jacques <sandf...@jhu.edu> 2011-06-30 12:04:07 PDT --- std.format.formatRange also suffers from a similar problem, although in this case it is one of choosing a non-character range over the custom toString routine. [Line 1171 in format.d in DMD 2.053] void formatValue(Writer, T, Char)(Writer w, T val, ref FormatSpec!Char f) if (isInputRange!T && !isSomeString!T The extra condition: && !(is(T == struct) && is(typeof(&T.init.toString))) ) And the toString exception needs to added to Line 1474 void formatValue(Writer, T, Char)(Writer w, T val, ref FormatSpec!Char f) if (is(T == struct) && (!isInputRange!T || is(typeof(&T.init.toString))) ) By the way, I like the idea of void toString(void delegate(const(char)[]) sink, FormatSpec fmt); void toString(void delegate(const(char)[]) sink, string fmt); but are which one is preferred? And if/when is Object going to switch over? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------