On 16/01/2011 08:23, "Jérôme M. Berger" wrote:
Stewart Gordon wrote:
On 15/01/2011 17:44, Steven Schveighoffer wrote:
<snip>
Which unnecessarily complicates things. For example, you can't compare
two interfaces (try it!).

?
interface I {}

...

I a = ...;
I b = ...;

if (a == b) //<-- ERROR


1.065: compiles without error, though it seems to be equivalent to is
2.051: it's really weird
----------
C:\Users\Stewart\Documents\Programming\D\Tests>dmd interface_equals.d
interface_equals.d(7): Error: function object.opEquals (Object lhs, Object rhs)
is not callable using argument types (I,I)
interface_equals.d(7): Error: cannot implicitly convert expression (a) of type i
nterface_equals.I to object.Object
interface_equals.d(7): Error: cannot implicitly convert expression (b) of type i
nterface_equals.I to object.Object
----------

Of course, if the interface declares an opEquals, it's a whole different story....

Stewart.

Reply via email to