aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/inh-ctor36.C
blob: 768a966d9f8ac343abc71150da2ebda80b2ecc47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// { 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
}