Semantics of toString

Bill Baxter wbaxter at gmail.com
Tue Nov 10 04:03:56 PST 2009


On Tue, Nov 10, 2009 at 3:59 AM, Justin Johansson <no at spam.com> 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.
>>
>> 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 have a feeling (and I may well be wrong) that toString might be used in
> relation to associative arrays.  I implemented an AA recently based upon
> a struct key (I think).  Though I cannot remember the exact details I do
> remember DMD saying something about toString not implemented and
> so without thinking I gave the struct a toString and that kept DMD happy.
> Since the code was throw-away I didn't bother to investigate.
>
> Like I say, I cannot remember the details but others may recall some similar
> experience.  For all I know it may be a case of RTFM?

Shouldn't be the case.  From TFM:
"""
Classes can be used as the KeyType. For this to work, the class
definition must override the following member functions of class
Object:

•hash_t toHash()
•bool opEquals(Object)
•int opCmp(Object)
"""

--bb



More information about the Digitalmars-d mailing list