view gcc/testsuite/g++.dg/concepts/pr93933.C @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
line wrap: on
line source

// { 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 {};