rymiel added a comment. So, it took me a while but I finally found where the logic is that makes the lambda braces stay on one line, but, now I'm not so sure if I should change it:
The thing I wanted to avoid was cases like [&]<typename T>(T&& t) requires T { t; }; Simply because "those braces don't really look nice", but it turns out there's a sort of "prior precedent" for this: For example, FormatTest.cpp line 22046, LambdaWithLineComments: verifyFormat("auto k = []() // X\n" "{ return; }", LLVMWithBeforeLambdaBody); verifyFormat( "auto k = []() // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n" "{ return; }", LLVMWithBeforeLambdaBody); (this is with combination of BraceWrapping.BeforeLambdaBody = true and AllowShortLambdaOnASingleLine) (+ a change in C# which I would like to avoid touching since I exclusively do C++) So, I guess I have the following choices: 1. do nothing! (allow those braces to stay on one line) 2. change the behavior of those existing tests, with whatever impact that has 3. make a //very specific// exception for just requires-clauses (+ maybe other compromise options, i.e. making it configurable or something) @owenpan do you perhaps have insight 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