[clang-tools-extra] [clang-tidy] Add `AllowExplicitObjectParameters` option to `avoid-capturing-lambda-coroutines` (PR #182916)

Willem Kaufmann via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 3 05:21:01 PDT 2026


================
@@ -52,3 +52,33 @@ captures or ensuring the lambda closure object has a guaranteed lifetime.
 
 Following these guidelines can help ensure the safe and reliable use of
 coroutine lambdas in C++ code.
+
+Options
+-------
+
+.. option:: AllowExplicitObjectParameters
+
+   When set to `true`, lambda coroutines that use C++23 "deducing this"
+   (explicit object parameter, e.g. ``this auto``) are not flagged by this
+   check, because the captures are moved into the coroutine frame, decoupling
+   their lifetime from the lambda object.
+
+   Default is `false`.
+
+   The example from above can be made safe and will pass this check with the
+   following change:
+
+.. code-block:: c++
----------------
WillemKauf wrote:

Done

https://github.com/llvm/llvm-project/pull/182916


More information about the cfe-commits mailing list