ccotter added inline comments.
================ Comment at: clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-capture-this-with-capture-default.cpp:9 + auto explicit_this_capture = [=, this]() { }; + // CHECK-MESSAGES: :[[@LINE-1]]:35: warning: lambdas that capture this should not specify a capture default [cppcoreguidelines-avoid-capture-this-with-capture-default] + // CHECK-FIXES: [this]() { }; ---------------- carlosgalvezp wrote: > ccotter wrote: > > ccotter wrote: > > > ccotter wrote: > > > > ccotter wrote: > > > > > carlosgalvezp wrote: > > > > > > carlosgalvezp wrote: > > > > > > > carlosgalvezp wrote: > > > > > > > > "default capture"? > > > > > > > I find the check name a bit unintuitive. If you are up for a > > > > > > > rename (you can use `rename_check.py`), I would consider renaming > > > > > > > to something like > > > > > > > `cppcoreguidelines-avoid-default-capture-when-capturing-this` > > > > > > > > > > > > > > Like, what should be avoided is not "capturing this", it's using > > > > > > > a default capture. > > > > > > > > > > > > > > Would be good to get other reviewers opinion before spending time > > > > > > > on renaming. > > > > > > Maybe put it within quotes so clarify it's a C++ keyword? Either > > > > > > backticks `this` or single quotes 'this' would work I think, unless > > > > > > we have some other convention. > > > > > I updated all references to capture default to say "capture default" > > > > > as this is how it is spelled in the standard. The CppCoreGuideline > > > > > for F.54 does use "default capture" though, so I'll open an issue > > > > > seeing if that wording should instead say "capture default." Also for > > > > > reference, `git grep` within the llvm-project repo shows > > > > > > > > > > ``` > > > > > $ git grep -i 'capture default' | wc -l > > > > > 43 > > > > > $ git grep -i 'default capture' | wc -l > > > > > 54 > > > > > $ git grep -i 'capture.default' | wc -l # E.g., 'capture-default' or > > > > > 'capture default' > > > > > 105 > > > > > ``` > > > > Updated with a single quote. I didn't find any clang-tidy diagnostics > > > > emitting backticks, but saw usage of single quotes when referring to > > > > identifiers like variable or class names. > > > +1 - I admit, I struggled naming this check. More feedback welcome on the > > > name > > https://github.com/isocpp/CppCoreGuidelines/pull/2016 for "capture default" > > vs "default capture" > Interesting, thanks for investigating this! cppreference also uses that > terminology. > It sounds quite strange to me since that's not how humans read english text > (which is what the diagnostic is meant for). We use "default constructor", > "default arguments", etc. > > Anyhow this is a minor detail that shouldn't block the patch. Thanks for > opening the pull requet towards CppCoreGuidelines! Since this is a more minor detail, we could probably follow up on the "capture default" wording on the CppCoreGuidelines issue I opened. I'll add that I *just* changed the lone occurrence of "default capture" in https://en.cppreference.com/mwiki/index.php?title=cpp%2Flanguage%2Flambda&diff=146169&oldid=145543, since the other 15 references were phrased "capture default" or "capture-default." Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141133/new/ https://reviews.llvm.org/D141133 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits