Looking at the RFC and the recently-split tracking issue for const functions, there is hardly any discussion of mutation. However, because
&mut T in rust denotes a unique reference, it seems to me that rust is in the unique position to actually allow mutation in const evaluation as long as it is not done through interior mutability.
As far as the compile-time evaluator is concerned, what is different between having a
&mut T argument, versus adding a
T to both the arguments and the output of a function? What problems could arise if
&mut T was allowed?