rymiel added a comment. In D145642#4183539 <https://reviews.llvm.org/D145642#4183539>, @owenpan wrote:
> Would this patch make the end result look worse without "making the requires > clause formatting of lambdas > match the formatting for functions"? If yes, then we should not land it just > yet. Depends on your definition of "worse" :) I outlined this on the github issue (https://github.com/llvm/llvm-project/issues/61269), essentially: The result for the example provided on the github issue something like this: [&]<typename Callable>(Callable&& callable) requires std::is_invocable_v<Callable> { static_cast<void>(callable); }; Unlike function declarations, lambdas with a requires clause still have the body on one line. I don't yet know how to go about changing this, and **if** I should at all. This of course isn't an issue if the lambda body has multiple lines. There is also the case of requires clauses before the parameters, which results in this: [&]<typename Callable> requires std::is_invocable_v<Callable> (Callable &&callable) { static_cast<void>(callable); }; This poses a whole new set of problems (like, starting a line with an opening paren is pretty weird!) But, this sort of syntax seems fairly obscure: I only found out about it reading the C++ grammar, and the clang frontend itself doesn't actually parse it at all in some cases (I filed https://github.com/llvm/llvm-project/issues/61278 for this) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145642/new/ https://reviews.llvm.org/D145642 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits