// { dg-do compile { target c++20 } } template struct A { static const bool value = T::value; }; template void f() { // Verify we don't substitute into a lambda's constraints when // regenerating it, which would lead to a hard error here. [] () requires (T::value && A::value) || true { }(); [] (U) requires (U::value && A::value) || true { }(0); } template void f();