aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-recursive-sat5.C
blob: ba564873a2042b70aaffc28f4eb7c04efc008ecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// PR c++/100288
// { dg-do compile { target c++20 } }

struct A { };

template<typename T> concept pipeable = requires(A a, T t) { a | t; }; // { dg-error "depends on itself" }

template<pipeable T> void operator|(A, T);

void f(A tab) {
  tab | 1; // { dg-error "no match" }
  tab | 1; // { dg-error "no match" }
}