https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92812
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- This already works: // P1975R0 struct Aggr { int x; int y; }; int main () { Aggr a = static_cast<Aggr>(1); if (a.x != 1 || a.y != 0) __builtin_abort (); } but we generate q.C: In function ‘int main()’: q.C:8:31: warning: missing initializer for member ‘Aggr::y’ [-Wmissing-field-initializers] 8 | Aggr a = static_cast<Aggr>(1); |