aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr12.C
blob: 3e330ac122dd3d4febb02bbd17e09a69104bc679 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// PR c++/101803
// { dg-do compile { target c++20 } }

struct Inner { int i = 0; };

template <typename T = void>
struct Outer { Inner s{}; };

Outer o1{ .s = {} };                // works
Outer o2{ .s = Inner{ .i = 1} };    // works
Outer o3{ .s = { .i = 1} };         // does not

Outer o4{ .s{} };                   // works
Outer o5{ .s{Inner{ .i = 1} } };    // works
Outer o6{ .s{ .i = 1} };            // does not