[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