<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61426>61426</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang C++20 Feature: P0588R1 - Simplifying implicit lambda capture
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
h-vetinari
</td>
</tr>
</table>
<pre>
id: P0588R1
paper: https://wg21.link/P0588R1
This paper doesn't have a tracking issue in the [C++20 project](https://github.com/orgs/llvm/projects/14/views/1) yet[^1]. It also shows up on the cppreference [implementation status page](https://en.cppreference.com/w/cpp/compiler_support), and presumably should be tracked in https://clang.llvm.org/cxx_status.html (like other DRs that have a Pxxxx).
[^1]: It's obviously questionable to call this a "C++20 Feature", but I'm following the pattern of the other paper-tracking issues.
I found some related issues[^2], but none dedicated to this:
* https://github.com/llvm/llvm-project/issues/58872
* https://github.com/llvm/llvm-project/issues/44851
* https://github.com/llvm/llvm-project/issues/37673
* https://github.com/llvm/llvm-project/issues/34771
[^2]: curiously, GH search found nothing for "P0588", but did find something for "P0588R1"
Most recently, @erichkeane wrote in #58872:
> DR status is tracked here : https://clang.llvm.org/cxx_dr_status.html
>
> So it would be tracked there as [CWG1632](https://wg21.link/cwg1632) and [CWG1913](https://wg21.link/cwg1913).
>
> From the looks of it, implementation will likely quickly get into a "thar be dragons" part of the compiler. We need to suppress instantiation of the body of dependent lambdas (the easy part), but getInstantiationArgs likely needs updating for it (which is a function that had some serious problems) to properly handle this and other cases.
This was followed by https://reviews.llvm.org/D138148 (open) & https://reviews.llvm.org/D137244 (merged). In the latter, @cor3ntin notes:
> Either way, I think this makes support for P0588 complete, but we probably want to add a test for that in a separate PR.
> (and I lack confidence I understand P0588 sufficiently to assert the completeness of our conformance).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVk1vozoX_jXO5qhRMCSQRRbtZDJvFq806lxpliODD-AbY3NtU5p_f3UMaZJ2FqOrblpA9vl6Pk6E96oxiDu2fmLr_UIMobVu1z68YFBGOLUorTzvlGTpI3xfrYviOWGrPVs99qJHR1_bEHrP0kfGD4wfxoYnS63MifHD3fnp71-t8hCvgrToDeN5gFa8IAgITlQnZRpQ3g8IykBoEdj66QvjT4w_8RX0zv6NVWDrPePFfeJGhXYol5XtGD9Y13jGD1q_0Nt8i74kGeOHF4VjfGF8C2cMsfevCVvvl3AMILS34Fs7ehh6sFMZVd87rNGhqWJNqus1dmiCCMoa8EGEgTpr8HfFoVneBpirHBk_VH1Pf23XK43ulx_63rrA-JbxLyCMhN6hHzpR6jPVNGgJJU6jQkkzuk9UaWGaJfW9tK6hD6-vv6bilm3oNDBeaHVCsKFFB_tnD6EVbxB8f319fWV8u7zF7DoegvsYGM892PJF2cHrM_wzoKcZiFIjBAuV0BoC4SyAcX4F74AiDA4Z59RbOQQ4Mp53UFut7UjA06B7EQI6A7aOr1OdkTEP9wTxd0UeobaDkeBth-BQi0Djieem-nnEZcprrEGQKFUVjwUb66UhThH5e1bfkWtmFf17uBCSH-Zc_LAuipx_RqAsK9bJZwRK802efkqgLM-Tj9TgMzWqwU2coDl_-x94FK5qZ2CMDS1hV1tHtIjecEMFqSTUagbw48nnhM7eZP6_9QEcVmjClI9lK3Sqak8oDMLobIgWwng6AfIGbvoV9s8XwSr_pqUWHcJHQ_utoqS7FdU18PXphwUVYHwv2BCzCB9t7ee3ZJPy3_nFrYtWYxOP8W30g_niNkn_5CIdu8r5rsKDs12UmLb25ElvKtAg3znbqLQGsowodVWd9BkaDKBMsJPCQysc9SidaKzxjHPohQsXBV-8bQk_EQxOeiOfc-g9KOODMEFNyeYrtHPoWWKPRqIJoEVXShobL-gACn-OSWajJAY1GI63wR5d4y-FU1pycynChVkqULCxVVUL0avqwVSxiNkQZy_xGElNq6fU2HnCIVh67dHpM7TCSDK-aHhGzoZVCf_OoOLmG4Wf7Q4llOd3VHMYN9Mt2fZJWiRZQaXaHg0lZ3zzR_dynmV0r0PXoCQWwHHaZTpa7CyayrrUBGVIoEgxbyjyVcVmRhEVdqQmzWlqtRMn9DCvqzjQqNOItsaAF1RGjJOL-2sUJtDshJS07tFPF-O8lQEBHnvhRED4_nxLWV7QYI-gRXWCyppaybiGjzAYiY4wl3N6P9S1qlR0hZjKe3ThjYdUmSHa2Rrs4GIw6zphKny_9RZyl8ptuhUL3CWbvCg2PMmTRbvbiHydyFVZb_I647JMt-UmS0Quka-LYssXasdXPF2lyXq1STdJssyyshB5hasiX6crsSKr6oTSb4AtosPuNknGNwstStQ-_iDj3OA4bTGyv_V-4XbRm8uh8SxbaeXDFfZFUEHj7gsZFnxcu9cfcPAAP0jlqj7HbUqPlbqIDCrR04XF4PTuv--K2My_AQAA__-GpFH8">