(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp2a/
concepts-lambda13.C
// { dg-do compile { target c++20 } }

template<typename T>
struct S {
  using type = T::type; // { dg-bogus "" }
};

template<typename T>
auto f() {
  return [] <typename U> (U) {
    // Verify that partial instantiation of this generic lambda doesn't cause
    // these requirements to get checked out of order.
    static_assert(!requires { typename U::type; typename S<T>::type; });
    return 0;
  };
}

int a = f<int>()(0);