Jacob Carlborg <[email protected]> wrote:

The following example doesn't compile with D2:

class Foo
{
     private Object value;

     synchronized bool hasValue (Object val)
     {
         return value == val;
     }
}

It gives the error:

main.d(11): Error: function object.opEquals (Object lhs, Object rhs) is not callable using argument types (shared(Object),Object) main.d(11): Error: cannot implicitly convert expression (this.value) of type shared(Object) to object.Object

Is that because object.opEquals hasn't been overloaded with a shared version yet? If that's the case has this already been reported in bugzilla?

You're absolutely right about the cause. This is related to, though not the
same issue as, #1824 (http://d.puremagic.com/issues/show_bug.cgi?id=1824)
I'm unsure whether this should be added to #1824 or filed as a separate bug.

--
Simen

Reply via email to