// PR c++/110006 // { dg-do compile { target c++20 } } template class s; template void constraint(s const&, int&); template U function(s const x) requires requires (U& u) { constraint(x, u); }; template class s { template friend U function(s const x) requires requires (U& u) { constraint(x, u); }; }; int f(s q) { return function(q); // { dg-bogus "ambiguous" } }