https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95825
--- Comment #8 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to daniel.klauer from comment #7) > Reduced test case: > > > template<typename T> > struct tc_optional_base > { > // default ctor leaves m_storage uninitialized > tc_optional_base() : m_initialized(false) {} > bool m_initialized; > T m_storage; > }; This example seems unrelated to the issue, because you have here a struct, not a union.