https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #2 from Rafael Avila de Espindola <rafael at espindo dot la> --- This reduces to just template <typename a> concept HasMapInterface = requires(a t) { t.cend; }; template <typename Mapper> requires HasMapInterface<decltype(Mapper::map())> struct l {}; struct mymap { int cend(); }; struct p { static mymap map(); }; l<p> q;