[Accepted as a DR at the November, 2023 meeting.]
The message of a static_assert declaration is a conditional-expression and thus is not manifestly constant evaluated. Consider this example:
struct X { std::string s; const char *p; }; consteval X f() { return {.s = "some long string that requires a heap allocation", .p = "hello"}; } static_assert(cond, f().p);
The example is ill-formed, because the immediate invocation f() lets a pointer to the heap escape.