1 // PR c++/78771
2 // { dg-options -std=c++17 }
3 
4 // ICE instantiating a deleted inherited ctor
5 
6 struct Base
7 {
8   template <typename U> Base (U);
9 
10   Base (int);
11 };
12 
13 struct Derived;
14 
15 struct Middle : Base
16 {
17   using Base::Base;
18 
19   Middle (Derived);
20 };
21 
22 struct Derived : Middle
23 {
24   using Middle::Middle;
25 };
26 
Middle(Derived)27 Middle::Middle (Derived) : Middle (0) {}
28