Don wrote:
Lutger wrote:
Don wrote:
...
There is a definite use for such as thing. But the existing toString()
is much, much worse than useless. People think you can do something with
it, but you can't.
eg, people have asked for BigInt to support toString(). That is an
over-my-dead-body.

How are you supposed to print a BigInt then?

Since you are in the know and probably the biggest toString() hater around: are there plans (or rejections thereof) to change toString() before D2 turns gold? Seems to me it could break quite some code.


I'm hoping someone will come up with a design.

Straw man:

void toString(void delegate(const(char)[]) sink, string fmt) {

// fmt holds the format string from writefln/formatln.
// call sink() to print partial results.

}

Just put it into an "interface DebugOutput", remove Object.toString(), and be done with it. That interface could be defined in the same module as writefln or format, and its use will be clear.

Reply via email to