>>807
メソッド名が演算子のみで構成されてるならなんでもおk

l += rという表記は、
・変数lに入ってるクラスに+=というメソッドがない
・変数lがimplicit conversionで+=というメソッドを持っているクラスに変換できない
・l = l + rが型的に正しい(lがvarで宣言されていて、lがメソッド+を持っている)
以上をすべて満たしてる場合にl = l + rとして再解釈される …って言語仕様の6.12.4に書いてあった

class A(init: String) {
 var str = init
 def *^-^*(s: String): A = { str += s; this }
}

var l = new A("left")
l *^-^*= "-right"
println(l.str) // => left-right

こんなのでもいける