https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106847
--- Comment #3 from Avi Kivity <avi at scylladb dot com> ---
But I need it to be copied. It's a struct of options:
struct options {
bool frob = false;
[[derecated]] bool quux = false; // will be removed soon
bool grue = false;
};
The fact that it's deprecated doesn't mean it can be coerced to false.
Sure, I can create custom constructors and assignment operators, but I lose
designated initializers.
btw, the destructor doesn't trigger the deprecation warning, even though it
does use the deprecated member.
I think it's more reasonable to only emit the warning when the member is
explicitly used.