There are 2 hashOf() definitions, one in object.d and one in core.internal.hash.d

If you include core.internal.hash, you cannot call hashOf() anymore, because it conflicts with the implicit import in object.d, this is annoying in itself...
The bigger issue though, is that they have different semantics:

import core.internal.hash : hashOfInt = hashOf;

void main() {
    string moo = "moo";
assert(moo.hashOfInt == moo.idup.hashOfInt); // ok - hashes moo.ptr[0..moo.length] assert(moo.hashOf == moo.idup.hashOf); // fail - hashes &moo[0..moo.sizeof]
}

Did anyone else fall into this trap?

Reply via email to