Verify that empty std::vector is optimized away
[official-gcc.git] / gcc / testsuite / g++.dg / concepts / variadic1.C
blobaad6db02562678f2723e847bedf58c69c59d466e
1 // PR c++/66712
2 // { dg-do compile { target c++17 } }
3 // { dg-options "-fconcepts" }
5 template <class T, class...Args>
6 concept _Constructible_ =
7   requires (Args&&...args)
8   {
9     T{ ((Args&&)(args))... };
10   };
12 template <class T, class...Args>
13 constexpr bool _constructible_() { return false; }
15 template<typename T, typename... Args>
16   requires _Constructible_<T, Args...>
17 constexpr bool _constructible_() { return true; }
19 struct S
21   S(int, char const *);
24 int main()
26   static_assert(_constructible_<S, int, char const *>(), "");