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" } }