c++: change -fconcepts to mean C++20 concepts
[official-gcc.git] / gcc / testsuite / g++.dg / concepts / variadic1.C
blobc590f28ee8157cd7b35ccd03429cbb59ea3f0db2
1 // PR c++/66712
2 // { dg-do compile { target c++17_only } }
3 // { dg-options "-fconcepts-ts" }
5 template <class T, class...Args>
6 concept bool _Constructible_ =
7   requires (Args&&...args)
8   {
9     T{ ((Args&&)(args))... };
10   };
12 template <class T, class...Args>
13 constexpr bool _constructible_() { return false; }
15 _Constructible_{T, ...Args}
16 constexpr bool _constructible_() { return true; }
18 struct S
20   S(int, char const *);
23 int main()
25   static_assert(_constructible_<S, int, char const *>(), "");