blob: b4f2c36374d94ec3de345b1192c8caa3227443b1 [file] [log] [blame]
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
// distilled from <concepts>, via header units
template<typename _ArgTypes>
struct is_invocable;
template<typename... _Args>
concept invocable = is_invocable<_Args...>::value;
template<typename _Is>
requires invocable<_Is>
class BUG;
template<typename _Is>
requires invocable<_Is>
class BUG {}; // { dg-bogus "different constraints" }
template<int> struct is_invocable_NT;
template<int... Ints>
concept invocable_NT = is_invocable_NT<Ints...>::value;
template<int _Is>
requires invocable_NT<_Is>
class BUG_NT;
template<int _Is>
requires invocable_NT<_Is>
class BUG_NT {};