arg = xx;
Local arg
now refers to (read as binds with) xx
. (And no more refers to j
)
arg += xx;
Implicit operator T& ()
is applied to match the argument of operator +=
and hence addition is performed on referred object i.e. j
.
So the observed behaviour is correct.