On 2010-09-12 23:00, Simen kjaeraas wrote:
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.

Filed as http://d.puremagic.com/issues/show_bug.cgi?id=4857

--
/Jacob Carlborg

Reply via email to