1 2 3 4 5 6 7 8 9 10 11 12 13 14
// { dg-do compile { target c++20 } } struct a {}; template <bool> using b = a; template <typename> struct c; template <typename d> requires requires(d e) { e[0]; } struct c<d> { static constexpr bool f = [] { return false; }.operator()(); }; b<c<unsigned[]>::f> b0{};