https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119652
--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> --- FWIW it works if A is initialized via default-init or copy-list-init: constinit A a{}; // error constinit A a; // OK constinit A a = {}; // OK