The build broke on code that was never going to run
A configuration module contains a table of scaling factors, one of which is written `1 / 0` deliberately, guarded by a check that the entry is never selected on this platform. The code has shipped for two years. A compiler upgrade turns the build red.
error: division by zero in constant expression. The build fails. Nothing is wrong at run time and nothing ever was: the guard is correct and the entry is unreachable. Reverting the compiler upgrade makes the error disappear and the binary behave identically.
Commit to a phase, and commit to a position: is this a compiler bug, or is the compiler right? State the legality condition for evaluating an arithmetic expression at compile time — it has two clauses, and the second one is the whole question here.