summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-requires12.C
blob: c8e3cfd5c63bc1260a6cee15d6317f53a1d66279 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// { dg-do compile { target c++2a } }

template <class> struct all_same {
  static constexpr bool value = true;
};

template <class T> 
concept Assignable = requires(T t)
{
  requires all_same<decltype(t = 0)>::value;
};

template <class I> 
  requires (!Assignable<I>)
int dispatch();

template <class I>
  requires Assignable<I>
void dispatch();

int main() { dispatch<int *>(); }