avikivity wrote: This common initial subsequence rule, https://timsong-cpp.github.io/cppwp/n3337/class.mem#19, which explicitly says it's allowed to construct via one arm of the union and read via the other. https://github.com/llvm/llvm-project/pull/221566