[Issue 5609] struct opEquals doesn't conform to language specifications.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Aug 15 14:18:38 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=5609
RazvanN <razvan.nitu1305 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |razvan.nitu1305 at gmail.com
Resolution|--- |INVALID
--- Comment #3 from RazvanN <razvan.nitu1305 at gmail.com> ---
This bug report highlights a misunderstanding of the spec [1]. It is clearly
stated: "Otherwise the expressions a.opEquals(b) and b.opEquals(a) are tried.
If both resolve to the same opEquals function, then the expression is rewritten
to be a.opEquals(b).". So, in the provided test case a.opEquals(b) and
b.opEquals(a) resolve to the same function therefore `a.opEquals(b)` is
selected. Only if opEquals did not resolve to the same function the compiler
would have tried to semantically analyze the 2 constructions.
So this bug report is invalid.
[1] https://dlang.org/spec/operatoroverloading.html#equals
--
More information about the Digitalmars-d-bugs
mailing list