On 12/04/2013 06:11 PM, Walter Bright wrote:
On 12/4/2013 5:50 AM, Jakob Ovrum wrote:
The point is that D does not have operator overloading for in-built
types. The
unnecessary one is the global operator overload you suggest, as it is
more
intrusive than `opBinaryRight`.

The bad thing about the global operator overloading is that it:

1. follows different scoping and lookup rules

2. was the motivation for ADL (aka "Koenig Lookup")

There was no way I was going to put ADL into D :-)

Makes sense, but I'd argue that whenever a.opBinaryRight!"+"(b) is valid, then a + b should be valid. (Also, the converse. Built-in types do not need to behave specially.)

Reply via email to