I'm not sure what you're getting at but
const bool z = (const bool)((int8_t)2);
Is perfectly valid C++.
That's a conversion, not the same. The naive equivalent to transmute would be
int8_t x = 2; bool y = *reinterpret_cast<bool *>(&x);
That's a conversion, not the same. The naive equivalent to transmute would be
But reinterpret_cast isn't valid in a constexpr scope.