// { dg-do compile { target c++17 } } | |
struct A | |
{ | |
A(); | |
A(const A&) = delete; | |
}; | |
bool b; | |
A a = A(); | |
A a1 = b ? A() : A(); | |
A a2 = (42, A()); | |
A f(); | |
A a3 = f(); | |
A a4 = b ? A() : f(); | |
void g(A); | |
A f() { | |
g(A()); | |
if (b) | |
throw A(); | |
else | |
return A(); | |
} | |
A* ap = new A(f()); | |
struct B { | |
A a; | |
B(): a(A()) {} | |
}; |