<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/63438>63438</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash with C++ lambda with variably modified argument returned from another lambda
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          efriedma-quic
      </td>
    </tr>
</table>

<pre>
    Testcase:

```
int size_tab(void);
int main(void) {
    auto tab = ([]()->int(*)[size_tab()] { return 0; })();
    ([](decltype(tab) arr)-> int { return sizeof(*arr); })(0);
}
```

>From the AST, it looks like the second lambda fails to capture the size of the array.  Not sure if this is something we want to accept, but we shouldn't crash.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU82OozwQfBpzaSUiTfg7cJhMvhy_y8591UATesfgrN1MlHn6lUlGk5VWQsaualcVdkMhyHlmbkx-MPkxoUVH5xsevHA_0eb3Il3Suv7WvHHQjgKb7MWkR5N-jUX6eNalzApBPvmnUmuw-nDSG6xNdvimJ5L5mwJTPjgAAFrUgVILJjuCweqeKk6w3pjsP5l1XbxE0fzw5LQCx6gGnnXxM6QmO4Apj5G589mT07N4z53V24UNVqtYDeT9wxFi5CfVaOmGe4h71V826bNPRP91SPfx5N0EOjK8_Hgz-AqiYJ17D2DlnVcicOfmHixNbU8wkNgA6qCjiy7-USKfDG5Y5-Q93bYA_zuFEAsk4hJAAgQ3sY4yn-HKcKVZoxB1HV80ereLRiKMbrH9bLBU6DyFcZv0TdbXWU0JN7uiKrOyKso0GZu85oG4SrGlHIc6LyosuiorixZLop4TaTDFLC1wh-muzNNtvtvvqd3tqqHEbl-j2ac8kdittR_T1vlzIiEs3BTZPqsSSy3bsLYl4sxXWEmDGLvUN3HPpl3OwexTK0HDt4qKWm5eY3y4io7wavBg8PB1jiv2QV6otTeYXC-DcA_kz8vEsz4umnsY4gXR7HRk_9icLN42o-olxN8ATwZPZ9FxabedmwyeYojHa3Px7hd3avC0Rg8GT-un_QkAAP__OmsK0A">