1 // { dg-options "-std=c++17 -fconcepts" }
2 
3 template<typename T>
C()4   concept bool C() { return __is_class(T); }
5 
6 template<typename T>
7   struct S1 {
S1S18     S1(double) requires C<T>() { }
9   };
10 
11 template<typename T>
12   struct S2 : S1<T> { // { dg-error "matching" }
13     using S1<T>::S1;
14   };
15 
main()16 int main() {
17   S2<int> s; // { dg-error "deleted function" }
18 }
19