Thread overview
[Issue 12778] Aliasing opBinaryRight to opBinary works only in certain cases
May 24, 2014
Kenji Hara
May 24, 2014
https://issues.dlang.org/show_bug.cgi?id=12778

Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull, rejects-valid

--- Comment #1 from Kenji Hara <k.hara.pg@gmail.com> ---
https://github.com/D-Programming-Language/dmd/pull/3578

(In reply to Andrej Mitrovic from comment #0)
> I don't know if supporting this kind of aliasing was a feature by design or by mistake. It's definitely nice to have it, but it fails in 'test2'. It should either be fully supported (rejects-valid) or fully rejected (accepts-invalid).

If both x.opBinary(y) and y.opBinaryRight(x) found, and they are exactly same
symbol, x.opBinary(y) should be preferred.

This is consistent with current opEquals behavior - if both x.opEquals(y) and
y.opEquals(x) found and they call exactly same symbol, it will be resolved to
x.opEquals(y).

--
June 02, 2014
https://issues.dlang.org/show_bug.cgi?id=12778

--- Comment #2 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/80e3e8a2940aa835dc59f384bbb28d09534fbedb
fix Issue 12778 - Aliasing opBinaryRight to opBinary works only in certain
cases

https://github.com/D-Programming-Language/dmd/commit/38c5c369b571c1769a9159d7d6b737fa2588fd6f Merge pull request #3578 from 9rnsr/fix12778

Issue 12778 - Aliasing opBinaryRight to opBinary works only in certain cases

--
June 02, 2014
https://issues.dlang.org/show_bug.cgi?id=12778

github-bugzilla@puremagic.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--