-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<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
noexcept
on a constexpr destructor for (I think) objects with non-trivially destructible anonymous union members. The workaround is to remove the explicitnoexcept
and let the compiler default it.I think this is fine as a permanent condition, so I've added no transition comments.