blob: 3edb68d24a4db0c94b7223dc95d2ee824981277d [file] [log] [blame]
// PR c++/95369
// { dg-do compile { target c++20 } }
struct S {
unsigned a;
unsigned b;
constexpr S(unsigned _a, unsigned _b) noexcept: a{_a}, b{_b} { }
};
template<S s> struct X { };
void g(S);
struct Z {
S s;
Z() : s{.a = 1, .b = 2} { } // { dg-error "designated initializers|no matching function" }
};
S
f()
{
X<{.a = 1, .b = 2}> x; // { dg-error "designated initializers" }
S s{ .a = 1, .b = 2 }; // { dg-error "designated initializers|no matching function" }
S s2 = { .a = 1, .b = 2 }; // { dg-error "designated initializers" }
S s3 = S{ .a = 1, .b = 2 }; // { dg-error "designated initializers|no matching function" }
g({.a = 1, .b = 2}); // { dg-error "designated initializers" }
g(S{.a = 1, .b = 2}); // { dg-error "designated initializers|no matching function" }
return {.a = 1, .b = 2}; // { dg-error "designated initializers" }
}