| // { dg-do link { target c++11 } } | |
| struct X { X(X &&); }; | |
| struct A { | |
| A() {} | |
| A(const A&); // #1 | |
| A(A &&) = default; // #2, defined as deleted (12.8 [class.copy]) | |
| template<typename T> A(T &&); // #3 | |
| union { X x; }; | |
| }; | |
| struct B : A { | |
| using A::A; | |
| B(...) {} | |
| }; | |
| int main() { | |
| B b = A(); // calls B::B(...): #1, #2, and #3 are excluded from candidate set | |
| } |