All right, all right! Interim decision regarding qualified Object methods

Mehrdad wfunction at hotmail.com
Thu Jul 12 18:30:36 PDT 2012


On Friday, 13 July 2012 at 01:22:59 UTC, Jonathan M Davis wrote:
> There's big difference between a library and a the language 
> itself.

Surely that's a non sequitur... Aren't we modifying druntime here?
What part of this has to do with the _language_? Isn't druntime a 
library?

Also, why can't you tell the user, "it's open-source! If it 
doesn't suit your needs, go modify it! Removing const is trivial!"
What makes it so easy to say that about every library /except/ 
druntime?



>> You mean, "how do you choose *not* to use opEquals()?"?

> Yes. Restrictions placed on Object affect _everyone_ using the 
> language, whereas restrictions placed on a particular library 
> only affect the users of that library. So, Object needs to be 
> able to work without forcing const on anyone using it, whereas 
> a 3rd library doesn't necessarily need to.


1. Again, see above -- Object is also in a library. Why doesn't 
the reasoning apply there? It's trivial to remove const from the 
library and recompile it -- _FAR_ easier than it is to modify any 
arbitrary library. (Speaking of which, thanks for making it so 
easy to modify & recompile druntime!)


2. Isn't it kinda /trivial/ to avoid opEquals? Just don't use it. 
Make up your own method. What's wrong with this?


More information about the Digitalmars-d mailing list