On 13-03-2012 19:28, Johannes Pfau wrote:
My std.uuid module doesn't compile with the latest dmd. I guess it's
because of a wrong opEquals signature, this is what I have now:

----------
@safe pure nothrow bool opEquals(ref const UUID s) const
{
     return s.data == this.data;
}
----------

and

----------
assert(UUID("00000000-0000-0000-0000-000000000000") == nilUUID);
----------
The complete code is here:
https://github.com/jpf91/phobos/blob/std.uuid/std/uuid.d

What's the best way to solve this issue?

Welcome to opEquals/opCmp/toHash hell. ;)

Try removing the ref on the parameter.

(Stylistic note: use equals_t instead of bool.)

--
- Alex

Reply via email to