All right, all right! Interim decision regarding qualified Object methods
Steven Schveighoffer
schveiguy at yahoo.com
Thu Jul 12 13:50:21 PDT 2012
On Thu, 12 Jul 2012 16:27:39 -0400, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> On 7/12/12 4:20 PM, Steven Schveighoffer wrote:
>> I think this discussion is somewhat academic at this point, as Andrei
>> seems not too keen on the idea of having dual base classes.
>
> Well I wasn't keen on eliminating the four methods and look what
> happened!
My personal opinion is we should simply eliminate the four methods (or at
least the three required for AAs), fix AAs, and deal with the fallout. I
can't really remember the last time I simply used obj1.opEquals(obj2) to
do comparisons instead of obj1 == obj2 (which should do the right thing if
obj1.opEquals(obj2) is valid). The code that relies on this is probably
very rare. I certainly would *love* to rewrite all my opCmp and opEquals
functions to accept the minimal base class instead of doing the dual
dispatch dance with Object parameters.
I'm also actually not liking using Object as the scorned child of
RawObject, I'd rather keep Object as the base, and use something like
OldObject as a different base class, or maybe use an interface.
I still am not keen on having a runtime vtable comparison to see if we
want to mimic old behavior, how does one declare "this comparison isn't
valid" to the compiler? That is one of the main benefits I see with
dumping the methods.
-Steve
More information about the Digitalmars-d
mailing list