I know there are several questions about this topic but hear me out, please.
I'm aware that we can use capture-less lambdas in unevaluated contexts (like decltype), but what about lambdas that do capture?
I couldn't find anything in the current C++ standard that would suggest that this is at all a problem since C++20, but I'm by no means a language lawyer.
What I see though, is that the major compilers differ in their results.
Are these concepts valid?
template <typename T>
concept C1 = requires { []{}; };
template <typename T>
concept C2 = requires(T t) { [&t]{}; };