1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// PR c++/95371 // { dg-do compile { target c++20 } } template <typename...> struct configuration { template <template <typename...> typename query_t> static constexpr bool exists() { return true; } template <template <typename...> typename query_t> void remove() requires(exists<query_t>()); }; int main() { configuration<> cfg{}; cfg.remove<configuration>(); }