// PR c++/99700 // { dg-do compile { target c++20 } } template struct A { T c[5]; constexpr A(int skip = -1) { for (int i = 0; i < 5; i++) if (i != skip) c[i] = {}; } }; constexpr A a; constexpr A a0(0); // { dg-error "not a constant expression|incompletely initialized" } constexpr A a1(1); // { dg-error "not a constant expression|incompletely initialized" } constexpr A a2(2); // { dg-error "not a constant expression|incompletely initialized" } constexpr A a3(3); // { dg-error "not a constant expression|incompletely initialized" } constexpr A a4(4); // { dg-error "not a constant expression|incompletely initialized" } struct s { int n; }; constexpr A b; constexpr A b0(0); // { dg-error "not a constant expression|incompletely initialized" } struct empty {}; constexpr A c; constexpr A c0(0);