1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// { dg-do compile { target c++20 } } template <class> concept C1 = true; template <class> concept C2 = true; template <class Expr> concept C3 = requires (Expr expr) { {expr}->C1; {expr}->C2; }; template<C3 T> auto f (T);