PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / concepts / req9.C
blobc4d6b57ab659437dceb4b33837c8571c314b6015
1 // { dg-options "-std=c++17 -fconcepts" }
3 template<typename T>
4 struct S1 {};
6 template<typename T>
7 concept bool C() { return requires(T x) { { x.fn() } -> S1<T>; }; }
9 template<C U>
10 void fn(U x)
12   x.fn();
15 struct S2
17   auto fn() const { return S1<S2>(); }
20 int main()
22   fn(S2{});
23   return 0;