do any offer to check that these assertions hold
There are no C++ compilers that implement effect inference or effect typing, so only ad hoc checks for purity would be supported, at best.
For background on effect typing, I suggest Ben Lippmeier's PhD thesis, Type Inference and Optimisation for an Impure World