On 01/15/2014 07:36 PM, Daniel Kozak wrote:
On this page http://dlang.org/operatoroverloading.html#Binary, is this
statement:

"The expression:

a op b
is rewritten as both:

a.opBinary!("$(METACODE op)")(b)
b.opBinaryRight!("$(METACODE op)")(a)"

Which is true when a or b is object or struct, but it doesn't work for
basic type or arrays wih ufcs.

It is this bug: https://d.puremagic.com/issues/show_bug.cgi?id=8062

The problem is that the spec is not explicit about this: "Operator overloading is accomplished by rewriting operators whose operands are class or struct objects into calls to specially named _member functions_."

http://dlang.org/operatoroverloading.html

Some consider it expected behaviour, based on the explicit mention of 'member function' in the spec.

Reply via email to