https://issues.dlang.org/show_bug.cgi?id=13511
Issue ID: 13511
Summary: std.traits.hasElaborateEquality!T
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P1
Component: DMD
Assignee: [email protected]
Reporter: [email protected]
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.
--