On Saturday, October 13, 2012 11:06:27 Jakob Ovrum wrote: > On Saturday, 13 October 2012 at 08:36:19 UTC, Tommi wrote: > > Quote from TDPL: "D’s approach to operator overloading is > > simple: whenever at least one participant in an operator > > expression is of user-defined type, the compiler rewrites the > > expression into a regular method call with a specific name. > > Then the regular language rules apply." > > Do note that this says *method* call. Your example doesn't use > methods. Hence, the current state of operator overloading is > consistent with TDPL.
Yes. It is most definitely illegal to overload any operators as free functions. They're _always_ member variables of the type that they operate on. - Jonathan M Davis