Здравствуйте, Voivoid, Вы писали:
V>constexpr выступает в роли контракта, который дает клиентам функции гарантии того, что функция может быть вычислена в compile time.
так вот беда как раз в том, что никаких гарантий constexpr не даёт. Это только подсказка компилятору. Часто выбешивает, что надо писать тесты на то, что функция может быть вызвана в compile_time. Такие тесты простые, их можно написать по месту со static_assert, но блин, зачем писать то, что можно было бы не писать?