Steven Schveighoffer <> changed:

           What    |Removed                     |Added
            Summary|Template interface          |Template interface
                   |functions not allowed       |functions not allowed,
                   |                            |making operator overloads
                   |                            |difficult

--- Comment #1 from Steven Schveighoffer <> 2010-05-10 
14:41:26 PDT ---
Sorry, enter key added the issue when I was typing the summary.

Operator overloads require template functions, yet this doesn't work:

interface I
   I addAssign(I other);
   I opOpAssign(string op)(I other) if (op == "+=")
      return this.addAssign(other);

void foo(I i)
   i += i;

error message:

testinterface.d(4): Error: function
testinterface.I.opOpAssign!("+=").opOpAssign template member functions are not
allowed in interface I
testinterface.d(12): Error: template instance testinterface.I.opOpAssign!("+=")
error instantiating

How shall I implement operators for interfaces?

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to