s-barannikov wrote: AFAIK the only purpose of llvm_unreachable after a fully covered switch statement is to make MSVC happy. Other compilers are happy without it (not sure about constexpr functions though). https://github.com/llvm/llvm-project/pull/194728