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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Template lambda instantiation fails
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          goedderz
      </td>
    </tr>
</table>

<pre>
    https://godbolt.org/z/hEnfvn64W

In short, the instantiation of

```cpp

    auto lambda2 = [&]<typename F>(F&& f) {
        return [&]<typename T>(T&& t) {
            if constexpr (std::is_same_v<std::decay_t<T>, Unit>) {
                return std::forward<F>(f)();
            } else {
                return std::forward<F>(f)(t);
            }
        };
    };

    lambda2([](int i) { return i; })(0);
```

fails unexpectedly.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylk02P2yAQhn8NvqBGXvwVH3zIJhup91Q9RtiMbSoClhlnm_31HZxs1l1leymygRngmRcGaqcuVY84eJZsmNjT1zlVO4MrN3ZkvdHfv9j2bPP0J4t3LN5c6--W-96NyMSWYw9cW4_SopaoneWuXc5leXz9mmFY-jkVOaHjRp5qJQVnyY6z7JmJnGU7lmzxMoCVJ-B7lrwwsd6HEZHzlomSs-L5AxPKCDiN9jHgcAUcbgB8CAhFt7xxtBf4PYycVnhU4WiSjfZHT6TjmbB3p4JGXo5IrmuALf9hNc7dL_gLoXdK68ZXOZKxve0z7I-aUCcPGKzYcTAe_j8C_iPE387gWE5c2h_eWyKDdsoCpUCstUWub8fxrkvT0pkwi4iXIu53ZYlupTaeT5aSAg2CMpdVpKpElUkpI9RooKJ4jZG2o6D8AKfBSISbnE93c4ZF02g-X3yN_VSvGnciw5jze_NtGN0vCkum9n4CT50sF-s06ivIZL5WTSkbKFIl6zRRT01ZF3Up4UlBHhlZU6aq-U4KC698RlCfdEa6ErEQcS7KuEyzJFtlTdkqmZUiKxohizVLYziR3FXQEV5kNFazpHrqPA0a7dF_DErvdWdhPozAp7dFT7TqHCgF41s0x65m7X8AImoaZw">