On Fri, Mar 23, 2018 at 03:55:52PM -0600, Jonathan M Davis via Digitalmars-d wrote: [...] > Walter and Andrei have been discussing putting together a DIP with a > "ProtoObject" which will be the new root class below Object where > ProtoObject itself has only the bare minimum required to work as a > class (not monitor object, no toString, no opEquals, etc.). Classes > could then derive from ProtoObject directly instead of from Object, > and then they could define any of the functions that are currently on > Object with whatever attributes they wanted (or not define them at > all).
Woo! Now *this* is good news indeed! A lot of my current code that uses classes would actually benefit from inheriting directly from ProtoObject as opposed to Object, since I don't need the monitor object, and don't really need a unified toString/opEquals/etc., either, since if they are needed for a particular class hierarchy I'd just declare them (with the right attributes!) in the base class. So they can be pure, @nogc, whatever, without worrying about conflicts with the current definition of Object. > The DIP has not yet been written, and the details still need to be > ironed out, but that's the gist of the direction that's currently > being considered. [...] *This* is going to be a DIP I look forward to! T -- What do you get if you drop a piano down a mineshaft? A flat minor.
