std.traits.hasElaborateEquality!T evaluates to true if T defines opEquals or has a member that does, false otherwise. In the latter case, objects may be compared with memcmp.
std.traits.hasElaborateEquality should not be implemented for classes: references themselves can always be compared bitwise, and the class objects they refer to will always have elaborate comparison.
Comment #1 by robert.schadek — 2024-12-01T16:22:25Z