https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84494
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ppalka at gcc dot gnu.org --- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> --- Reduced testcase: struct X { constexpr X() = default; constexpr X(int x) : m_value(x) {} constexpr X& operator=(const X &o) = default; int m_value {}; }; static_assert((X() = X(10)).m_value == 10); Looks like GCC 10 and later correctly accept this testcase, ever since r10-5143 apparently.