I found some old code that seems to have broken due to a change of behavior when calling `factor()` on symbolic equations.
In the old version (can't really tie it to a specific SageMath version; maybe 2 years old or so), it would simply factor both sides of an equation, i.e., something along the lines of
sage: var('x y')
(x, y)
sage: (x^2 + 2*x + 1 == y^2 + y).factor()
(x + 1)^2 == (y + 1)*y
Currently, however,
sage: (x^2 + 2*x + 1 == y^2 + y).factor()
Traceback (most recent call last):
...
RuntimeError: can't happen in factor
Was this an intentional change at some point? (I did not find a specific ticket for it, so I am guessing that the answer is no.)
I liked that there was a convenience method for factoring both sides of an equation, and I used this quite a bit at some point; especially for improving output from `solve`.
Do you feel that the error is appropriate? (If so, the message needs to be improved, though.) Or would you be ok with changing back to factoring both sides when calling factor on a symbolic equation?
Benjamin