https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101371
--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> --- And this should compile fine but doesn't since r269078: struct A { int i; }; struct B { A a{}; constexpr B() : a() {} constexpr B(const B &rhs) : a(rhs.a) {} }; struct C { B arr[1]; }; constexpr C fn () { C c{}; return c; } constexpr C c = fn(); $ ./cc1plus -quiet 101371.C 101371.C:20:20: in ‘constexpr’ expansion of ‘fn()()’ 101371.C:17:10: in ‘constexpr’ expansion of ‘C(c)’ 101371.C:20:20: in ‘constexpr’ expansion of ‘B(<anonymous>.C::arr[0])’ 101371.C:20:20: in ‘constexpr’ expansion of ‘B()’ 101371.C:20:20: error: accessing value of ‘<anonymous>.B::a’ through a ‘B’ glvalue in a constant expression 20 | constexpr C c = fn(); | ^