<expected>: Workaround LLVM-59854#3326
Conversation
Clang is confused by explicit `noexcept` on a constexpr destructor for (I think) objects with non-trivially destructible anonymous union members. The workaround is to remove the explicit `noexcept` and let the compiler default it. I think this is fine as a permanent condition, so I've added no transition comments.
|
Oh, IIUC this change is violating [res.on.exception.handling]/3? If |
Yes, [res.on.exception.handling]/3 is, err, not perfect. But this is a good enough argument to convince me to restrict the workaround - I'll do so. |
<expected>: Workaround LLVM-59854
|
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
|
Thanks for reporting and working around this compiler bug! 🐞 🛠️ ✅ |
Clang is confused by explicit
noexcepton a constexpr destructor for (I think) objects with non-trivially destructible anonymous union members. The workaround is to remove the explicitnoexceptand let the compiler default it.I think this is fine as a permanent condition, so I've added no transition comments.