https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955
--- Comment #22 from fiesh at zefix dot tv --- And reduced somewhat more by hand, no idea why cvise couldn't figure this out: -----8<----- struct h { int g; constexpr h() : g() {} }; struct n { h m{}; }; struct H { int p[6]{0, 1, 2, 3, 4, 5}; n o; }; void q(H &r) { r = {}; } -----8<----- Strange behavior: Removing h's ctor makes 14 and 15 consume 0 data. `default`ing h's ctor makes *both* 14 and 15 consume 14 bytes of data. Having h's ctor as above only makes 15 consume 14 bytes of data.