Certain types of operations where the LHS and RHS
are equal frequently signal programming errors.
a = a; // Eclipse alreadly finds this one
a - a;
a / a;
a ^ a;
a & a;
a | a;
(a && a);
(a || a);
(a == a);
(a != a);
(a > a);
Some care needs to be taken with precedence for
some of these expressions - that nothing binds
to either argument tightly.
Except for the first case, the expression can
be practically anything - provided there are
no side effects - so method calls, ++, and
assignments would have to be prohibited.